整個字符串讀取輸入我做了以下內容:如何從標準輸入輸出中的Java
1)創建BufferedReader
;
2)讀一行行從stdio
並追加到StringBuilder
br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder everything = new StringBuilder();
String line;
while((line = br.readLine()) != null) {
everything.append(line);
}
System.out.println(everything.toString());
但我不能退出循環。 當我通過,例如,這樣的輸入,並按ENTER
我仍然在循環。
aut Caesar aut nihil
aut aut
de mortuis aut bene aut nihil
我該如何克服這個問題?或者,也許我應該使用另一種方法從stdio
讀取?
'stdin'打開流所以可能性,另一端被產生了一些內容,並進行發送,所以應用程序需要每次等待它你調用'的readLine()'。要解決它,你可以使用一些停止序列來決定是否應該退出循環。這樣的順序可以是像'end','stop'這樣的詞,或者根本就沒有詞,只是空行。所以你的解決方案可能看起來像'while((line = br.readLine())!= null &&!line.equals(「stop」)){...}' – Pshemo
你可能能夠生成一個'EOF'按''。完全取決於您用來運行程序的控制檯。 –
AJNeufeld
爲什麼不使用Scanner類來讀取用戶輸入,它比這種方法容易得多。 –