首页 > 解决方案 > 为什么这个 while 循环条件不停止循环?

问题描述

System.out.println("Please enter your grades: ");    

while(scanner.nextInt() != -1){
            numbers.add(scanner.nextInt());
        }

我有一个while循环,一旦用户输入“-1”就应该停止。相反,在被识别之前将“-1”插入到我的数组列表中。我想了解为什么在检测到“-1”时循环不会立即停止。

标签: javaarraylistwhile-loop

解决方案


你调用nextInt了两次,每次都返回一个新的 int 。尝试这个:

while(true){
    int val = scanner.nextInt();
    if (val == -1) {
        break;
    }
    numbers.add(val);
}

推荐阅读