我需要能够在用户输入内容时中断while循环。否则循环应继续。
我尝试使用if (scanner.nextLine())
但是这会导致循环等到输入内容之后再继续。
如何在输入内容之前保持循环继续?
while (true) {
if (scanner.nextLine()) {
// statements
}
// standard loop statements
}
答案 0 :(得分:1)
如果要在用户键入单个字符时退出循环,则可能需要侦听KeyEvent。但是,如果您可以等到用户输入一行零个或多个字符并按下ENTER键,那么您可以使用BufferedReader的ready方法。
InputStreamReader inputStream = new InputStreamReader(System.in);
BufferedReader bufferedReader = new BufferedReader(inputStream);
while(true)
{
if (bufferedReader.ready())
{
String s = bufferedReader.readLine();
// do stuff before exiting loop
break;
}
// do stuff in loop
}