java - 关闭缓冲读取器会导致在线判断错误。

标签 java

在以下程序中关闭缓冲读取器会在在线判断中出现运行时错误 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/

相关文章:

Java - 无法执行一系列 1-7 中的最后一个 if 语句

java - 如何处理 Firebase 数据库的异步特性

java - Scanner.hasNext(模式模式)未按预期工作

java - UTF-8 字符编码不适用于 AWS Elasticbeanstalk Tomcat8 服务器的 spring 应用程序

java - 修改接口(interface)中的泛型如何影响向后兼容性

Java xpath 将整个元素作为字符串返回

java - 如何在Scene2d中使用NinePatch图像而不是作为按钮?

java - 如何将图像发送到 GCP Vision API

java - 更新子文档的所有元素,其中子文档是列表的一部分

java - 我如何在JAVA中交换两个arraylist?