2016-12-05 74 views
-2

所以我有一个对象数组,500确切地说,我已经在我的代码中声明了。 我运行一个for循环从int i = 0到i < 500;并期待所有的对象被初始化或构建。我检查了数组[499]的成员数据,并且由于它返回true,所以它被构建。但由于某种奇怪的原因,500给了我一个错误,我认为这是第500个元素没有构建的。有人可以向我解释for循环机制,为什么它没有构造?我看了其他帖子,看到人们做同样的事情,并没有enter image description here带来任何错误。 我不知道我的代码有什么问题,请帮忙。第一次如此问题。对不起,如果我问一个问题太简单了。For循环帮助,初学者初始化一个对象数组。 (Java)

这是我的代码/执行的两个snippits。

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

请在SO内寻找答案。不要提出重复的问题。 – Mohit

回答

5

Java是0索引,这意味着数组索引从0开始。因此,你的数组索引是0 ... 499,500个元素。索引500没有对象,因为它不存在,导致您的错误。