Gradle
がインストールされていて、ファイルからデータを読み取ろうとしています。Javaエラー:java.lang.ArrayIndexOutOfBoundsException:1
ファイルが
A; 1;2
B;2;3
C;4;5
H;5;6
.
.
.
であると私は最初の5つのレコード
InputStream inputFileStream = Main.class.getResourceAsStream("/inputFile.txt");
Scanner scanner = new Scanner(inputStream);
int counter = 5;
while (scanner.hasNext()) {
String line = scanner.nextLine();
String[] array;
if(counter>=0)
{
array = line.split(";");
System.out.println(line);
// System.out.println("Hero is: "+array[0]+" "+array[1]+" "+array[2]);
counter--;
}
}
に特別な何かをしようとしている問題は、ライン
System.out.println("Hero is: "+array[0]+" "+array[1]+" "+array[2]);
に私が直面している、ということですエラーあり:
java.lang.ArrayIndexOutOfBoundsException: 1
私が知っているのは、配列の外側にある値を取得することを意味しています。 しかし、なぜそれが起こっているのか分かりません。 どうすれば修正できますか? downvotersについては
:私は前にラインをerroring後System.out.println(array-length);
を使用していますが、奇妙なことは、私は何も印刷されないerroringラインを持っている場合ということですか?最初の繰り返しで
おそらくスプリットは1回以上のリターンを与えませんでした。 'array.length'を印刷して実際にいくつの要素があるか調べてみましょう。 – KevinO
それはあまりにも楽観的な分割です、あなたはどうなると思いますか?ライン? –
また、実際には、デバッガを使用する方法、またはコードにSystem.out.println行を追加して、変数の内容と問題の原因を確認する方法を学んでください。この種の問題を診断する必要はありません。 –