1

宿題用のプログラムを作成し、ideone.com でテストしようとしましたが、エラーが発生しました。

Exception in thread "main" java.lang.NullPointerException
    at Main.main(Main.java:83)

すべてのテストに対して(エリプスは正常に動作します)

83行目:

 String[] val = tab.split(" ");

line 82: // 情報提供のみを目的としています

String tab = in.readLine();

行 78:// は情報提供のみを目的としています

 BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
4

2 に答える 2

2

スキャナーは、への最初の呼び出しで完全な入力を貪欲に取り込みますnextInt。スキャナーまたはバッファードリーダーのいずれかを使用することをお勧めしますが、両方を使用することはできません。両方を同じストリームから読み取らせると、問題が発生します。

スキャナーを取り外し、最初の番号を取得する方法を変更します。

String count = in.readLine();
int i = Integer.valueOf(count);
于 2012-05-17T22:46:32.870 に答える
1

おそらく、2 つの異なるリーダーで単一のストリームを読み込もうとしていることが原因です。スキャナーを作成して sc.nextInt() を呼び出す代わりに Integer.valueOf(in.readLine()) を使用するか、スキャナーのみを使用してください。

于 2012-05-17T22:50:06.947 に答える