【发布时间】:2022-02-14 09:02:40
【问题描述】:
这是我必须做的:
"编写一段代码,从键盘读取一个整数序列,直到用户输入一个负数。然后它应该输出偶数个数和读取的奇数个数的计数(不包括最后任何计数中的负值)。记住 - 0 是偶数。例如,如果序列是:
2 7 15 5 88 1243 104 -1 那么输出应该是 偶数个数:3 奇数个数:4
即使在输入 -1 之后,我的代码也会继续运行。我有一种感觉我错过了{somewhere 或写错了代码。这是我的代码:
int oddCount = 0, evenCount = 0;
Scanner in = new Scanner(System.in);
while (oddCount>=0&&evenCount>=0){
System.out.print("Enter an integer: ");
int temp = in.nextInt();
if (temp>0) {
if (temp%2==0)
evenCount = evenCount + 1;
else oddCount = oddCount + 1;
while (temp>0);
System.out.println("Number of even integers: "+evenCount);
System.out.println("Number of odd integers: " +oddCount);
}
}
【问题讨论】:
-
标题的终止条件,与您的问题不匹配。
-
提示:你在哪里检查 -1(或0,或其他),当你看到它时你正在做什么退出循环?
-
oddCount>=0&&evenCount>=0 始终为真