如何关闭while循环

时间:2015-02-23 03:32:12

标签: java loops 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);

}

2 个答案:

答案 0 :(得分:1)

你再也没有得到输入,所以循环无限运行。你需要再次获得价值。

while (num != -1)
{
    ...

    num = sc.nextInt();
}

答案 1 :(得分:0)

在进入循环之前,

num被设置。

那么,num在while循环中何时发生变化?它没有。这就是为什么你的代码不会退出循环。

我建议移动

num = sc.nextInt();

在循环中。