如何阅读一行没有';在java中,是否以新行或回车符结尾?
我使用的BufferedReader如下所示如何阅读一行没有';在java中,是否以新行或回车符结尾?,java,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(),除非用户按enter键,否则将期望用户输入 使用扫描仪可以解决
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键,否则将期望用户输入
使用扫描仪可以解决这个问题吗
事实上,我在解决这个问题的时候遇到了这个问题,他们在他们的文章中提到了以下几句话:
输入测试用例中的最后一行是否以换行符结尾?[连结]
没有。没有尾随空格或换行符
,在上一页提交,测试用例未通过 对于测试用例0,它显示以下输出:,
由于预期输出为空,这意味着“我的代码”仍然预期输入未提供的
\n或\r
,如果您希望在不按enter键的情况下获得输出,则不可能。
因为System.in stream默认情况下不允许您在不按enter键的情况下进行输入。您必须使用类似的第三方库进行输入。如果输入被终止,例如,如果标准输入实际上是从文件重定向的,那么就可以了
BufferedReader.readLine
在检测到基础数据的结尾时,仍将返回其输入的最后一行
考虑到这是一个自动的挑战,我希望情况会是这样——我希望它像这样运行
java Solution < input.txt
java解决方案
所以基本上,我相信你应该没事。输入都应该是整数吗?请检查更新的问题没有行终止符的行在术语上是矛盾的。我不能使用thirdy party,检查提供的链接,在Java中,他们只需要解决方案类,没有第三方,因为它在测试服务器上运行所以
readLine()
在\n\r或EOF时返回?那么Javadocs在最后一部分是非常不清楚的。此外,他们提到“如果到达流的末尾,则为空”…我认为这有点不真实。确切地说..除非他实际上从用户那里得到输入,而不是文件..:)不起作用,只是更新了代码链接的问题,如果可能的话,请check@WilliamGaul:如果已达到蒸汽末端且没有更多数据可返回,则返回null
。(基本上它返回最后一行,下次调用时返回null。)@pradeep:这是一个自动系统-没有用户按键。这是我的观点。