2015-05-19 3 views
-4

Я работаю над симуляцией, и каждый раз получаю ошибку! Я пробовал evreything, но я не могу найти ответ. Это код: Person.java:Ошибка Java при вызове функции

package School; 

import java.util.Random; 

public class Person { 
    private Random rng; 
    private String Name; 
    private String[] Friends; 
    private int Hobby; 
    private boolean IsDitch; 
    public Person(String Name, String[] Friends, int Hobby, boolean IsDitch){ 
     int aof = rng.nextInt(20); 
     this.Name = Name; 
     this.Friends = Friends; 
     Friends = new String[aof]; 
     this.Hobby = Hobby; 
     if(rng.nextInt(10) == 0){ 
      IsDitch = true; 
     }else{ 
      IsDitch = false; 
     } 
     this.IsDitch = IsDitch; 
    } 

    public boolean getIsDitch(){ 
     return IsDitch; 
    } 

    public int getMaxFriends(){ 
     return Friends.length; 
    } 

    public String getName(){ 
     return Name; 
    } 
} 

Interaction.java:

package School; 

public class Interaction { 
    public static void main(String[] args){ 
     String[] g; 
     g = new String[2]; 
     g[0] = "Natasha"; 
     g[1] = "Fill"; 
     Person mrt = new Person("Adam",g,2,false); 
     System.out.println(mrt.getName()); 
    } 
} 

Ошибка я получаю:

Exception in thread "main" java.lang.NullPointerException 
    at School.Person.<init>(Person.java:12) 
    at School.Interaction.main(Interaction.java:9) 
+2

Если вам нужно добавить «* Lorem Iposum *» (СИК) до конца вашего сообщения, чтобы получить его для публикации, тогда вы, вероятно, должны были послушать сообщение, сообщающее вам, что вы не публикуете достаточно полезной информации в своем вопросе. –

+0

Это не позволило мне прокомментировать иначе. – sagiksp

ответ

1

rng является null, вы используете его в конструкторе перед его созданием.

Изменить что:

rng = new Random(); 
int aof = rng.nextInt(20);  

Вы можете захотеть сделать rng статичны, в зависимости от ваших конкретных нужд.

+0

Спасибо! Это сработало! – sagiksp

-1

Я думаю, это потому, что вы не инициализировать ГСЧ

Edit: упс слишком медленно, но я согласен peter.petrov

+0

Все в порядке. Это сработало. – sagiksp

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