Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
函数调用时发生Java错误_Java - Fatal编程技术网

函数调用时发生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;

我正在进行模拟,每次都会出错! 我什么都试过了,但找不到答案。 代码如下: 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;
    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”(原文如此)才能将其发布,那么你可能应该听邮件告诉你,你没有在问题中发布足够有用的信息。否则我不会发表评论。没关系。成功了。