2013-03-02 2 views
0

Заявлен:Как вернуть объект массива без исключения NullPointerException?

private Man[] man; 

Это инициализация:

Man[] man = new Man[1]; 

    for (int i = 0; i < 1; i++){ 
     man[i] = new Man(); 
      for (int j = 0; j < 3; j++){ 
       man[i].eatThis(table.foods[table.topFood-1]); 
       table.topFood--; 
      } 
    } 

Хотите напечатать это:

System.out.println(getMan(0)); 

который идет:

public Man getMan(int k){ 
return man[k]; 
} 

но я получаю исключение NullPointerException. Зачем? В то время как:

System.out.println(man[0]); 

работает просто отлично.

Exception in thread "main" java.lang.NullPointerException 
at ManRunning.getMan(ManRunning.java:80) 
at ManRunning.newGame(ManRunning.java:133) 
at ManRunning.<init>(ManRunning.java:57) 
at RunDevilRun.main(RunDevilRun.java:9) 
+2

Какая переменная не инициализируется, когда вы получаете нужную строку? Используйте отладчик и установите точку останова рядом и выполните шаг, чтобы определить ответ. –

+1

http://docs.oracle.com/javase/7/docs/api/java/lang/NullPointerException.html –

+0

Трудно дать ответ с ограниченной информацией, можете ли вы предоставить инициализацию используемых переменных? – RMT

ответ

0

Obivously у вас есть два man массив переменных, одна из которых инициализируется и один (переменная-член), что это не так.

+0

Не могли бы вы показать мне этих мужчин? Один из них в методе и другой, который инициализируется как man [i] = new Man()? Как я могу указать на одного правильного человека? –

+0

'private Man [] man;' - переменная экземпляра, скрытая локальной переменной 'Man [] man = new Man [1];' человек, к которому вы обращаетесь в getMan (int), не инициализируется. – A4L

1

линия (1)

Man[] man = new Man[1]; 

скрывает переменную экземпляра, объявленной в этой строке (2)

private Man[] man; 

любой порядочный IDE покажет предупреждение для этого.

вот как вы должны инициализировать массив человека в строке (1), объявленный с линией (2)

man = new Man[1]; 
+0

Это сработало! Большое спасибо! –

Смежные вопросы