簡體   English   中英

如何在java中讀取不以新行或回車字符結尾的行?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM