在以下程序中关闭缓冲的阅读器会在在线评判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() ;
}
}
答案 0 :(得分:1)
你应该向codechef报告。
恕我直言,你应该被允许在这种特殊情况下关闭标准输入。关闭stdin是不寻常的,但你应该被允许。
我认为这实际上是他们身边的一个问题:他们的跑步者可能会继续将数据提供到您的应用中,当您关闭该流时,它会失败而不会意识到您已解决了问题。
答案 1 :(得分:0)
没有其他解决方案关闭System.in,所以我猜这不是预期的。