2012-01-30 88 views
0

当我运行这个时,我得到一个NullPointerException。它发生在线listings[i].input();空指针从对象中调用方法时出现异常

我是否宣布这是正确的?我想要一个包含3个列表对象的数组,使用我的input()方法输入它们,然后以相反的顺序输出。

public static void main(String[] args) { 

    Listing[] listings = new Listing[3]; 

    for (int i = 0; i < listings.length; i++) { 
     listings[i].input(); 
    } 

    for (int i = listings.length - 1; i >= 0; i--) { 
     System.out.println(listings[i]); 
    } 

} 
+0

了解如何使用调试器。 – mre 2012-01-30 02:21:41

回答

5

您没有构造个体Listing对象。所以listings[0] == null。对于阵列的所有元素都是如此 - 默认情况下,它们全部初始化为null

你必须首先说listings[i] = new Listing()之类的,之前你的listings[i].input()

+0

不要忘记,您还可以使用以下语法初始化数组:Listing [] listing = new Listing [] {new Listing(),new Listing(),new Listing()} – 2012-01-30 03:00:27

2

如果我没有记错,你必须做一些事情,如:

for (int i = 0; i < listings.length; i++) 
{ 
    listings[i] = new Listing(); 
    listings[i].input(); 
}