如何关闭 while 循环
How to close a while loop
我认为我的代码是正确的,但是当我 运行 它时,我在底部的输出语句不会产生。我要求键盘输入任意数字,然后输入 -1 结束。我的 while 循环包括添加数字、创建总和以及给出偶数的数量。当我测试我的代码时,我只输入了 1、2、3、4,希望产生 4 个总数。 2 个偶数,总和为 10。为什么我的代码没有进入打印语句?
public static void main(String[] args) {
Scanner sc = new Scanner (System.in);
System.out.println("Please enter a number. Enter -1 to stop program.");
int num = sc.nextInt();
int counter = 0;
int even = 0;
int sum = 0;
while (num != -1)
{
counter += 1;
sum += num;
if (num%2 == 0)
{
even +=1;
}
}
System.out.println("You have entered "+ counter + "number(s)");
System.out.println("You have entered "+ even + "even numbers");
System.out.println("The sum for the numbers you entered is "+ sum);
}
num 在您进入循环之前设置。
那么,while 循环中的 num 什么时候改变?它没有。这就是您的代码不会退出循环的原因。
我建议移动
num = sc.nextInt();
循环内部。
你永远不会再得到输入所以循环无限运行。您需要重新获取值。
while (num != -1)
{
...
num = sc.nextInt();
}
我认为我的代码是正确的,但是当我 运行 它时,我在底部的输出语句不会产生。我要求键盘输入任意数字,然后输入 -1 结束。我的 while 循环包括添加数字、创建总和以及给出偶数的数量。当我测试我的代码时,我只输入了 1、2、3、4,希望产生 4 个总数。 2 个偶数,总和为 10。为什么我的代码没有进入打印语句?
public static void main(String[] args) {
Scanner sc = new Scanner (System.in);
System.out.println("Please enter a number. Enter -1 to stop program.");
int num = sc.nextInt();
int counter = 0;
int even = 0;
int sum = 0;
while (num != -1)
{
counter += 1;
sum += num;
if (num%2 == 0)
{
even +=1;
}
}
System.out.println("You have entered "+ counter + "number(s)");
System.out.println("You have entered "+ even + "even numbers");
System.out.println("The sum for the numbers you entered is "+ sum);
}
num 在您进入循环之前设置。
那么,while 循环中的 num 什么时候改变?它没有。这就是您的代码不会退出循环的原因。
我建议移动
num = sc.nextInt();
循环内部。
你永远不会再得到输入所以循环无限运行。您需要重新获取值。
while (num != -1)
{
...
num = sc.nextInt();
}