我需要为偶数和赔率得到两条单独的线,但要注意的是,我只能使用一个 while 循环

I need to get two separate lines for evens and odds, but the catch is, I can use only one while loop

这是我的代码:

int numb = 50;
int odd;
int even;
while (numb <= 100) {
    if (numb % 2 == 0) {
        even = numb;
        System.out.println(even);
        System.out.print(", ");
        numb++;
    }
    System.out.println("");
    if (numb % 2 != 0) {
        odd = numb;
        System.out.print(odd);
        System.out.print(", ");
        numb++;
    }
}

到目前为止,它打印了两列答案,但我需要将偶数行和赔率行分开。我做错了什么?

您可以使用两个 StringBuilder 并继续将 sOddsEven 附加到相应的 StringBuilder 并在循环之后打印它们。

类似的东西

StringBuilder sOdd = new StringBuilder("");
StringBuilder sEven = new StringBuilder("");

while (numb <= 100) {
    if (numb % 2 == 0) {
        sEven.append(numb).append(",");
    }
    if (numb % 2 != 0) {
        sOdd.append(numb).append(",");
    }
   numb++;
}

System.out.println(sEven.toString()+"\n"+sOdd.toString());

如果你对单个 while 循环和常量额外的东西很挑剔space你可以这样做:

int numb1 = 50,numb2=51;
while (numb1 <= 100 || numb2<=100) 
{
if (numb1<=100) 
{
    System.out.print(numb1);
    System.out.print(", ");
    numb1=numb1+2;
}


else if (numb2<=100) 
{
    if(numb2==51)
    System.out.println();

    System.out.print(numb2);
    System.out.print(", ");
    numb2=numb2+2;
}
}