为什么使用扫描仪要求用户输入的 Java while 循环会跳过第一个输入

丹阿

我正在尝试获取用户输入,直到输入一个空白字段并按下 Enter 按钮。我的 while 循环跳过了第一个输入,我试过环顾四周,但我不明白如何修复它或使用更好的方法。

public static void main(String[] args){

      Container x = new Container();
      Scanner scanner = new Scanner(System.in);
      String input = scanner.nextLine();

      while (!input.equals("")) {   
            input = scanner.nextLine();            
            x.addWord(input);         
            } 
      x.display();

    }

输入和输出

穆雷尼克

您在进入循环之前阅读了一行,然后立即在循环正文的第一行中阅读了另一行。您应该将读取移动到循环主体的末尾:

String input = scanner.nextLine();
while (!input.equals("")) {   
    x.addWord(input);
    input = scanner.nextLine();            
} 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java - 使用 while 循环丢失第一个用户输入

Java扫描仪连续用户输入?

Java输入缓冲器和do-while循环的行为(为什么它会检查第一个字符的3倍?)

扫描仪输入在while循环内被跳过

Getchar() 跳过 while 循环中扫描的第一个值

Java:根据用户输入使用扫描仪构造2D矩阵阵列

Java使用扫描仪将用户输入写入.txt文件

Java:尝试理解使用扫描仪从用户那里获取输入

Java使用扫描仪进行用户输入来设置数组的大小

while 循环语句对除第一个输入之外的所有输入求和?

Java while 循环跳过用户输入的第一次迭代

程序在循环后跳过第一个输入

使用扫描仪的Java输入键已按下

Java-使用扫描仪输入来重复图案

循环中的Java扫描器仅获得第一个输入

使用Java中的嵌套循环从第一个输入到最后一个输入的时间表

Java 存储来自扫描仪的输入

Java扫描仪输入验证

读取扫描仪输入Java

Java扫描仪输入阅读

Java 无法识别扫描仪输入

为什么for循环会更改for循环中的列表后跳过第一个元素?

新手Java问题-扫描仪,整数和用户输入

如何限制用户扫描仪输入数据类型(java)?

扫描仪定界符无法与输入文件(Java)一起正常使用

Java没有运行我的扫描仪,无论我正确输入它是什么

在不推进扫描仪的情况下获取Java扫描仪输入

当第一个 cin 有一个 while 循环来接收未知大小的输入时,如何让第二个 cin 工作

在测试While循环之前,Do While Loop无法识别扫描仪输入