1

在以下程序中关闭缓冲阅读器会在在线判断codechef中产生运行时错误。删除关闭缓冲阅读器的语句后问题得到解决。我应该避免关闭缓冲阅读器还是只是在线法官的问题?

import java.util.* ; 
import java.io.* ; 
class Main{
    public static void main(String args[])throws java.lang.Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while(true){
            int num = Integer.parseInt(br.readLine()) ; 
            if(num == 42){
                break ;
            }
            System.out.println(num) ;
        }
        br.close() ; 
    }
}
4

2 回答 2

1

您可能应该将此报告给 codechef

恕我直言,您应该被允许在这种特殊情况下关闭标准输入。关闭标准输入是不寻常的,但应该允许您这样做。

我认为这实际上是他们方面的一个问题:他们的跑步者可能会继续将数据输入您的应用程序,并且当您关闭流时它会失败而没有意识到您解决了问题。

于 2013-01-10T14:25:13.623 回答
0

其他解决方案都没有关闭 System.in,所以我想这不是预期的。

于 2013-01-10T14:21:45.260 回答