2012-01-30 2 views
0

Когда я запускаю это, я получаю NullPointerException. Это происходит на линии listings[i].input();Null Pointer Исключение при вызове метода из объекта

Я заявляю это право? Я хочу массив из 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

ответ

5

Вы не создали объект (а) объекта Listing. Итак, listings[0] == null. Это верно для всех элементов массива - все они инициализируются по умолчанию null.

Прежде всего, вы должны указать listings[i] = new Listing() или что-то еще до вашего listings[i].input().

+0

Не забывайте, что вы также можете инициализировать массив синтаксисом: Листинг [] listings = new Listing [] {new Listing(), new Listing(), new Listing()} –

2

Если я не ошибаюсь, вы должны сделать что-то вроде:

for (int i = 0; i < listings.length; i++) 
{ 
    listings[i] = new Listing(); 
    listings[i].input(); 
} 
Смежные вопросы