[英]How to read a line which doesn't end with new line or carriage return character in java?
我正在使用BufferedReader,如下所示,
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 4; i++) {
System.out.println(stdin.readLine());
}
輸入的內容如下,
1
2
3
最后一個輸入不以\\n
或\\r
結尾,因此對於3 readLine()將期望來自用戶的輸入,除非用戶按下回車鍵
使用Scanner的任何解決方案?
實際上,我在解決問題時遇到了這個問題, Quora Question Nearby ,在他們的條件下他們提到了以下幾行,
輸入測試用例中的最后一行是否以換行符結尾? [鏈接]
不。 沒有尾隨空格或換行符。
代碼鏈接 ,在上面提交,測試用例失敗
對於測試用例零,它顯示以下輸出, 由於預期的輸出是空白的,這意味着我的代碼仍然需要
\\n or \\r
,它不是由輸入提供的
如果輸入被終止 - 例如,如果標准輸入實際上是從文件重定向的話就是這種情況 - 那么它就沒問題了。 BufferedReader.readLine
檢測到基礎數據的結束時,它仍將從其輸入返回最后一行。
鑒於這是一個自動化的挑戰,我希望情況就是這樣 - 我希望它可以運行
java Solution < input.txt
所以基本上,我相信你應該沒事。
如果你想在沒有按下輸入的情況下獲得輸出,那是不可能的。 因為System.in流不允許您輸入輸入而不按默認輸入。您必須使用第三方庫,如JNI 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.