在以下程序中关闭缓冲读取器会在在线判断中出现运行时错误 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() ;
}
}
最佳答案
您可能应该向 codechef 报告此问题。
恕我直言,在这种特殊情况下,您应该被允许关闭标准输入。关闭标准输入是不寻常的,但你应该被允许这样做。
我认为这实际上是他们这边的问题:他们的运行程序可能会继续向您的应用程序提供数据,当您关闭流时,它会失败,而没有意识到您解决了问题。
关于java - 关闭缓冲读取器会导致在线判断错误。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14259928/