Java BufferedReader等待用户提示读取下一行

Java BufferedReader等待用户提示读取下一行,java,input,bufferedreader,Java,Input,Bufferedreader,我目前正试图从sphere online judge解决素数生成器问题 核心问题已经解决了,我面临的问题是在读取输入时,前两行读得很好,要读取第三行,我必须按enter键,这个小问题让我在评估解决方案时超时。我想知道是否有什么方法可以让它在不需要我按enter键的情况下读取整个输入 这是输入和输出 输入: 2 1 10 3 5 输出: 2 3 5 7 3 5 这是我的密码 类解素发生器{ public static void mainString[]args抛出NumberFormatEx

我目前正试图从sphere online judge解决素数生成器问题

核心问题已经解决了,我面临的问题是在读取输入时,前两行读得很好,要读取第三行,我必须按enter键,这个小问题让我在评估解决方案时超时。我想知道是否有什么方法可以让它在不需要我按enter键的情况下读取整个输入

这是输入和输出

输入:

2
1 10
3 5
输出:

2
3
5
7

3
5
这是我的密码

类解素发生器{ public static void mainString[]args抛出NumberFormatException, IOException{ BufferedReader reader=新BufferedReadernew InputStreamReaderSystem.in; int t=Integer.parseIntreader.readLine;
forint i=0;i在按enter键之前,它不是一行。它如何知道您已经键入了该行?

很难确切地说出您要完成的操作,但readLine方法必须通过回车或换行符或两者来终止

见此:


我相信问题发生在文件的最后一行,不是吗?在这种情况下,最后一行是第三行。可能是文件的最后一行,没有回车/换行符

正如tjg84所指出的,readLine希望行以回车或换行或两者都结束。因此,您有两种可能的解决方案: -在最后一行的末尾插入回车/换行符。
-使用另一种方法来阅读这行内容。也许你可以使用Scanner类;

正如答案所示,你的问题到底是什么还不清楚。我花了时间运行了你的代码,看起来还可以。你想要的确切行为是什么?我的解决方案似乎是正确的,但在时间上并不有效,我想我必须这样做我很抱歉浪费了你的时间。我的解决方案似乎是正确的,但在时间上并不有效,我想我必须用埃拉托斯烯来解决这个问题。我很抱歉浪费了你的时间。我的解决方案似乎是正确的,但在时间上并不有效,我想我必须这样做用埃拉托斯烯筛来解决这个问题。很抱歉浪费了你的时间。