-1

重複の可能性:
ArrayIndexOutOfBoundsException

次のメッセージが表示されないようにするにはどうすればよいですか。

Test.mainでのスレッド"main"java.lang.ArrayIndexOutOfBoundsExceptionの例外(Test.java:28)

このコードのコンパイル中:

int [ ] a = { 2, 7, 8, 9, 11, 16 };  
for ( int i = 0; i <= a.length; i++ ) 
      System.out.println( a[i] ); // line 28 of class Test.java
4

2 に答える 2

4

試す

for ( int i = 0; i <a.length; i++ ) 
  System.out.println( a[i] ); // line 28 of class Test.java

配列インデックスはゼロベースです。つまり、配列インデックスは0からArrayLength-1までです。

配列の最後のインデックスにアクセスするには、を実行する必要がありますa[a.length-1]。したがって、ループ条件は次のようになります。i<a.length

于 2012-11-11T22:09:16.623 に答える
1

配列の最後のインデックスはa.length - 1そうなので、次を使用できます。

for (int i = 0; i < a.length; i++)
于 2012-11-11T22:09:18.697 に答える