2012-01-30 82 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(); 
}