我有两个 while 循环,其中一个循环取 50 到 100 之间的奇数,另一个循环取 50 到 100 之间的偶数。它打印得很好并且有效,但我的教授希望我进行转换它进入一个 while 循环而不是两个。我遇到了麻烦,因为我之前按顺序使用了 print 语句,因此它适合数字输入。
int e = 50;
int o = 51;
System.out.print("Even numbers between 50 and 100: 50,");
while (e <= 98){
e += 2;
if (e%2 == 0){
System.out.print(e + ",");
}
}
System.out.print("\nOdd numbers between 50 and 100: 51,");
while (o <= 97){
o+= 2;
if (e%1 == 0) {
System.out.print(o + ",");
}
}
Even numbers between 50 and 100: 50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,
Odd numbers between 50 and 100: 51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99,
现在的输出看起来像这样,但我需要能够只用一个循环来完成
最佳答案
如果您只需要一个 while 循环和单独的行,您应该构建字符串并在之后打印它们。 像这样的东西:
StringBuilder odds = new StringBuilder();
StringBuilder evens = new StringBuilder();
i = 50;
while(i<100) {
if(i%2 == 1) {
odds.append(i).append(",");
}
else {
evens.append(i).append(",");
}
i++;
}
// remember that odds and evens now probably ends with a ','which you should remove
odds.removeCharAt(odds.size());
evens.removeCharAt(evens.size());
// or do something like the following:
//odds.append(" and nothing more!");
//evens.append(" and nothing more!");
System.out.println("Odd numbers are: ");
System.out.println(odds);
System.out.println("Even numbers are" ");
System.out.println(evens)
关于java - 如何将这两个 while 语句合并为一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39661526/