如果用户输入内容,如何中断while循环

时间:2016-11-28 20:11:47

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

我需要能够在用户输入内容时中断while循环。否则循环应继续。

我尝试使用if (scanner.nextLine())但是这会导致循环等到输入内容之后再继续。

如何在输入内容之前保持循环继续?

while (true) {
    if (scanner.nextLine()) {
    // statements
    }

    // standard loop statements
}

1 个答案:

答案 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 
 }