2015-06-29 39 views
0

當我試圖通過使用此程序讀取所有行......它使我少了一行輸出。使用BufferedReader或掃描儀處理Java中的多個輸入

樣本程序:

String line = null; 
Scanner scanner = new Scanner(System.in); 
while (scanner.hasNextLine()) 
{ 
    line = scanner.nextLine(); 
    System.out.println(line); 
} 
scanner.close(); 

當我請Standarad輸入爲:

ab 
cd 
ef 
gh 

輸出是:

ab 
cd 
ef 
+0

可能的重複[如何使用Java讀取大型文本文件行?](http://stackoverflow.com/questions/5868369/how-to-read-a-large-text-file-line- by-line-using-java) –

+1

解釋你如何_輸入標準輸入as_。 –

回答

-1

「scanner.hasNextLine()」。最後一行沒有下一行,因此它在打印出ef之前就存在循環。

+0

爲什麼你認爲它退出'while'循環? –

+0

@SotiriosDelimanolis我認爲代碼實際上工作...自己測試它。 – jstnchng

+0

@jstnchng如果您在輸入的末尾添加額外的回車符,它將「工作」(如在,它將打印最後一行)。 OP似乎沒有這樣做。 –