我有我的程序問題,具體與Standart輸入。標準輸入堆積
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
int in;
while ((in = input.read()) != -1) {
System.out.println(((char) in));
System.out.println("going throught while loop");
}
System.out.println("while loop ended");
input.close();
我本來期望的是輸入已經被打印後,行「而循環結束」將被印刷爲好,但這裏是我所得到的,當我寫的「hi」到Eclipse控制檯輸入
...............................
hi
h
going throught while loop
i
going throught while loop
going throught while loop
going throught while loop
.......... ...............
和程序仍在運行,並等待另一個輸入,所以剩下的代碼和呃while循環沒有執行,所以我問你如何使它只是一次輸入,我輸入一些字左右,然後代碼將離開while循環,換句話說,「while循環結束」行將是打印。
謝謝大家的任何建議。
read()方法 - 讀取單個字符。所以對於每個字符循環都會執行,直到您的輸入字符爲止!= -1 – SujitKumar
您是如何做終端輸入的?在DOS上,這是^ Z和在Unix上它是^ D –