函数调用时发生Java错误
我正在进行模拟,每次都会出错! 我什么都试过了,但找不到答案。 代码如下: Person.java:函数调用时发生Java错误,java,Java,我正在进行模拟,每次都会出错! 我什么都试过了,但找不到答案。 代码如下: Person.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;
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)
线程“main”java.lang.NullPointerException中的异常
在学校。Person。(Person.java:12)
在学校.Interaction.main(Interaction.java:9)
该
rng
为null
,您在实例化它之前在构造函数中使用它
改为:
rng = new Random();
int aof = rng.nextInt(20);
根据您的具体需要,您甚至可能希望将
rng
设置为静态 我认为这是因为您没有初始化rng
编辑:oops太慢了,但我同意peter.petrov的观点。如果你必须在邮件末尾添加“Lorem Iposum”(原文如此)才能将其发布,那么你可能应该听邮件告诉你,你没有在问题中发布足够有用的信息。否则我不会发表评论。没关系。成功了。