当我在 while 循环 block 内调用 readLine() 时,不知何故,即使我按下 Enter 键,输入也不会完成。看起来,它创建了一个新行,但仍在等待行输入终止。
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String line = "";
while(!line.equals("End")){
line = br.readLine();
System.out.println("String from keyboard not working : "+line+"\n");
}
while((line = br.readLine())!=null) {
System.out.println("String from keyboard in while loop : "+line+"\n");
}
}
当我将 readline() 放在 while 的条件部分顶部时,它工作得很好。 我想知道为什么前者 while 不起作用。
最佳答案
不太确定您遇到了什么麻烦
但是如果我在输入处运行你的代码
test
String from keyboard not working : test
End
String from keyboard not working : End
kkk
String from keyboard in while loop : kkk
然后如果我输入 ctrl-d 那么第二个循环将终止
即使我按下 Enter, enter
也不会终止输入,请尝试 ctrl-d
关于java - BufferedReader readLine() 在 while 循环中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52250850/