2016-12-05 4 views
-2

私は、私のコードで宣言したオブジェクトの配列、正確には500を持っています。 私はint i = 0からi < 500までforループを実行しました。すべてのオブジェクトが初期化または構築されることを期待していました。私は配列[499]のメンバーデータをチェックし、それが本当に戻ったので、それが構築されました。しかし、何らかの奇妙な理由のために、私は500番目の要素が構築されていないので、私はエラーを私に与えた。誰かが私に説明するループの力学、なぜそれが構築されなかったことができますか?私は他の投稿を見て、同じことをやっている人々を見て、enter image description hereはエラーを起こしませんでした。 私のコードで何が問題なのかよく分かりませんが、助けてください。初めてのSOの質問。あまりにも簡単な質問をしているのであれば申し訳ありません。ループヘルプでは、初心者がオブジェクトの配列を初期化します。 (Java)

ここに私のコード/実行の2つのスニペットがあります。

enter image description here

は、ここにリンクを包み私のコードは動作しないのです。

public class FinalProject { 

    public static void main(String[] args) { 
     Sample[] library = new Sample[500]; 

     for(int i = 0; i < library.length; i++) 
     { 
      library[i] = new Sample(); 
     } 

     System.out.println("Availability of index 1: " + library[499].getAvailability()); 
    } 

} 
+1

Java配列のインデックスはゼロ、位置0は最初の要素、位置499は500番目の要素 – chatton

+0

将来的には、画像としてではなく、コードとエラーをテキストとして貼り付けてください。 – xenteros

+0

その中の答えを探してください。重複した質問をしないでください。 – Mohit

答えて

5

Javaが0インデックス化され、配列のインデックスは、このように0から始まります。つまり、あなたの配列のインデックスは0です... 499、500要素。インデックス500にはオブジェクトが存在しないため、エラーが発生します。