【发布时间】:2015-03-08 05:43:41
【问题描述】:
好的,我正在复习 Java 考试,其中一个问题问我们: 我们希望开发一个程序来计算集合中偶数和奇数的数量(“偶数”表示可被 2 整除,“奇数”表示不可被 2 整除)。我们将使用零作为集合已完全输入的指示符,并且该零不应计为集合的一部分。向用户询问以零结尾的整数序列。输出偶数个数和奇数个数。
当我运行我的代码时,出于某种原因,第一个变量总是被视为偶数,无论整数是什么。我无法为我的生活找出原因。示例:我输入 23、22、25。它说 2 even 1 odd。但是,如果我输入 22、23、25,它会显示 1 even 2 odd。
这是我的代码:
public class Problem4_Exam1Practice {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Enter Numbers");
int x = IO.readInt();
int even = 0;
int odd = 0;
while(x != 0) {
x = IO.readInt();
if (x % 2 == 0) {
even = even + 1 ;
}else{
odd = odd + 1 ;
}
}
System.out.println(even + " even " + odd + " odd ");
}
}
【问题讨论】:
-
为什么投反对票?完全有效的问题,一个很好的引导。赞成。
-
什么是
IO.readInt()? -
不要在循环之外设置 x:for (x = IO.readInt(); x != 0; x = IO.readInt()) { ... }
标签: java