【问题标题】:Do While Loop using Scanner not properly working使用扫描仪执行 While 循环无法正常工作
【发布时间】:2014-03-09 18:37:53
【问题描述】:

我有一个简单的 Do While 循环,它使用了无法正常工作的 Scanner 功能。代码应该显示一个文本提示用户输入一个字符串,用户输入一个字符串,然后程序再次显示相同的文本并提示用户输入另一个字符串。

程序所做的是它确实显示正确的消息,用户输入一个字符串,然后提示用户输入一个字符串,而不是用户输入之前的文本。用户输入文本后,它就可以正常工作。

查看我的代码,我看不出有任何理由让程序提示用户两次输入而不向他们显示文本。

String userinput;
   Scanner sr = new Scanner(System.in);
   do{
     System.out.println("Enter a string for character classification: (EOF to end):");
      userinput = sr.nextLine();
   }while(sr.hasNext());

}
}

【问题讨论】:

    标签: java java.util.scanner do-while


    【解决方案1】:

    在使用nextLine()之前,需要检查是否有下一行。出于这个原因,您可能应该使用常规的 while() 循环,而不是 do/while。

    由于它是一个扫描仪,并且用户可能不断输入文本,您可能希望将该文本保存为字符串,并在 while() 之外放置一个循环以检查 EOF 消息。

    【讨论】:

      猜你喜欢
      • 2021-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多