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 に答える