我正在按以下方式使用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()将期望来自用户的输入,除非用户按下Enter键使用扫描仪对此有什么解决方案?
实际上,我在解决Quora Question Nearby时遇到了这个问题,在他们的conditions中,他们提到了以下几行,
输入测试用例的最后一行是否以换行符结尾? [关联]
不。没有尾随空格或换行符。
Link for Code,在上一页提交,测试用例失败
对于零测试用例,它显示以下输出,
由于期望的输出为空,这意味着我的代码仍期望输入不提供的
\n or \r
最佳答案
如果输入被终止(例如,实际上是从文件重定向标准输入的情况),那很好。当BufferedReader.readLine
检测到基础数据的结尾时,它仍将返回其输入的最后一行。
鉴于这是一个自动化的挑战,我希望情况确实如此-我希望它可以像
java Solution < input.txt
所以基本上,我相信你应该会没事的。
关于java - 如何在Java中读取不以换行符或回车符结尾的行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19194813/