【发布时间】:2016-09-23 13:05:00
【问题描述】:
我有两个 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,
现在的输出看起来像这样,但我需要能够只用一个循环来代替
【问题讨论】:
-
e%1 == 0- 你不是故意要输入的 -
将偶数和奇数存入数组或字符串,最后打印
-
e%1 == 0 不会为您提供任何额外信息。 a%b == 0 表示 a 可以被 b 整除。因此,说 e%1 == 0 就是说 e 可以被 1 整除,这始终是正确的。您在这里要使用的是 e%2 == 0 (这意味着 e 可以被 2 整除,这意味着 e 是偶数)和 e%2 == 1 (这意味着 e 不能被 2 整除,这意味着 e 是奇数)。
标签: java while-loop