使用随机Java时出现nullPointerException

使用随机Java时出现nullPointerException,java,Java,使用随机生成器时,我收到错误消息 线程“main”java.lang.NullPointerException中出现异常 我完全不知道为什么,因为它工作了很多时间,然后抛出异常。我感觉双打的资源刚刚被开发出来。我在屏幕“psst”上有很多消息(PMPC设置为0.0),不小心它总是在第一个IF语句中出错。你们对如何解决这个问题有什么想法吗?或者问题是什么?代码甚至不难读取一些检查值并在屏幕上打印 public void Mutation() { Random r= new

使用随机生成器时,我收到错误消息

线程“main”java.lang.NullPointerException中出现异常

我完全不知道为什么,因为它工作了很多时间,然后抛出异常。我感觉双打的资源刚刚被开发出来。我在屏幕“psst”上有很多消息(PMPC设置为0.0),不小心它总是在第一个IF语句中出错。你们对如何解决这个问题有什么想法吗?或者问题是什么?代码甚至不难读取一些检查值并在屏幕上打印

public void Mutation()
    {
        Random r= new Random();
            if (r.nextDouble()<mutation.pMutationChangeStrategy && mutation.pMutationChangeStrategy!=0.0)
            {
                char [] tab= {'P','C','D','K'};
                System.out.println("psst");
                this.strategy.buffor=MutationRecurtion(tab, r);
            }
            if (r.nextDouble()<mutation.pMutationChangePc)
            {
                System.out.println("Mutation");
                if (r.nextBoolean()==true)
                {
                    System.out.println("boolean");
                    this.pOfCoopMax+=mutation.parameterIncMutation;
                    this.pOfCoopMin+=mutation.parameterIncMutation;
                }
                else
                {
                    this.pOfCoopMax-=mutation.parameterIncMutation;
                    this.pOfCoopMin-=mutation.parameterIncMutation;
                }
            }   
    }
public空变()
{
随机r=新随机();

如果(r.nextDouble()将变量传递到函数中

public void Mutation(Object mutation)
        {
            Random r= new Random();
                if (r.nextDouble()<mutation.pMutationChangeStrategy && mutation.pMutationChangeStrategy!=0.0)
                {
                    char [] tab= {'P','C','D','K'};
                    System.out.println("psst");
                    this.strategy.buffor=MutationRecurtion(tab, r);
                }
                if (r.nextDouble()<mutation.pMutationChangePc)
                {
                    System.out.println("Mutation");
                    if (r.nextBoolean()==true)
                    {
                        System.out.println("boolean");
                        this.pOfCoopMax+=mutation.parameterIncMutation;
                        this.pOfCoopMin+=mutation.parameterIncMutation;
                    }
                    else
                    {
                        this.pOfCoopMax-=mutation.parameterIncMutation;
                        this.pOfCoopMin-=mutation.parameterIncMutation;
                    }
                }   
        }
公共无效变异(对象变异)
{
随机r=新随机();

if(r.nextDouble()
mutation
很可能是
null
它从哪里来?mutation
的声明在哪里?
mutation
声明丢失很难抛出所有代码,它不清楚,但是mutation是私有类,并且在这个类的构造函数中初始化。正如我所说的,我有很多msge“psst”,但它会在一段时间后发生。stacktrace应该显示发生错误的确切行,然后该行上的一个变量为null。