2016-11-28 165 views
0

只有当用户输入内容时,我需要能够中断while循环。否则,循环应该继续。如何在用户输入内容时中断while循环

我尝试使用if (scanner.nextLine())但是,这将导致循环等待,直到输入内容,然后继续前进。

如何保持循环持续直到输入内容?

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

    // standard loop statements 
} 
+9

HM,如何将一个'break'退出循环... – janos

+0

也许只是改变',而(真)''到时(!scanner.hasNext())'。 – Gendarme

+1

_hasNext()_被阻止。一般来说,阻止IO不是你想要的。如何检查一个文件的存在呢? –

回答

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 
} 
+0

这是我的问题的正确答案,但我措辞不正确。我结束了使用线程。 –