1. ホーム
  2. java

スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 4 at text.Division.main(Divisi

2022-02-14 03:29:54
<パス

これは初心者にとても簡単な問題です。以下のソースコードをご覧ください。

public class Division {
	 public static void main(String[] args) {
		String str = new String("abc,def,ghi,gkl");
		String[] newstr = str.split(",");
		for(int i=0;i<=newstr.length;i++) {
			System.out.println(newstr[i]);
		}
	}
}


この問題を実行した後。

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
	at text.Division.main(Division.java:8)



その理由は、String型の配列探索を行うと、定義された配列の最初の要素である 第四 の添え字が範囲外(newstr[4])で、0になっている。つまり、最初の の行は間違っています。配列の走査条件を: newstr.length に変更するだけで、境界外を処理することができます。