我在尝试计算偶数整数时遇到问题。
这是我正在使用的代码:
int input=0, numeven=0;
Scanner scan = new Scanner(System.in);
input = scan.nextInt();
while (input != 0)
{
//calculates the total number of even integers
if (input%2 != 1)
{
numeven = numeven+1;
}
}
我不知道如何设置while循环:while (input! = 0)
鉴于测试输入6, 4, -2, 0
,它表示我有三个偶数,但预期结果是4(因为0
是偶数)。
答案 0 :(得分:3)
如果您希望循环在零上工作,并将其视为退出标记,请从Column A Column B
0270 2.20
1660 1.50
2610 8.00
3568 7.30
切换到while
/ do
:
while
这样,您的代码将与常规输入一起处理零,并在到达循环结束时停止读取更多输入。
答案 1 :(得分:2)
当用户输入0或任何其他整数时,你不希望循环中断你希望多次输入0。
int numeven=0;
Scanner scan = new Scanner(System.in);
while (true) {
String input = scan.next();
try {
int val = Integer.parseInt(input);
if (val % 2 == 0)
numeven++;
} catch (NumberFormatException e) {
//enter any input besides an integer and it will break the loop
break;
}
}
System.out.println("Total even numbers: " + numeven);
或者这也是一样的。除了它不会消耗最后一个值。
int numeven=0;
Scanner scan = new Scanner(System.in);
while (scan.hasNextInt()) {
int val = scan.nextInt();
if (val % 2 == 0)
numeven++;
}
System.out.println("Total even numbers: " + numeven);
答案 2 :(得分:-1)
只需将while循环的条件设为
即可while( scan.hasNextInt() )
然后只有有数字才会循环。在循环内你可以
input = scan.nextInt()