Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.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_Android - Fatal编程技术网

Java 空指针执行处理程序

Java 空指针执行处理程序,java,android,Java,Android,我在FourActivity类中对此函数做了一个示例: public int getRandomNumber(){ Random rnd=new Random(); int randomNumber=rnd.nextInt(100); if (randomNumber%2==1){ randomNumber=randomNumber+1; return randomNumber; } else return rand

我在FourActivity类中对此函数做了一个示例:

public int getRandomNumber(){
    Random rnd=new Random();
    int randomNumber=rnd.nextInt(100);


    if (randomNumber%2==1){
        randomNumber=randomNumber+1;
        return randomNumber;

    }

    else return randomNumber;
}
我试图通过这种方式在另一个类中访问此方法。但是它抛出了一个
java.lang.NullPointerException

int randomNumber;
FourActivity fourActivity;
randomNumber= fourActivity.getRandomNumber();

Toast.makeText(FinalActivity.this,"Random Number is"+randomNumber ,Toast.LENGTH_SHORT).show();

fourActivity
未实例化,这就是为什么会出现
NullPointerException

如果这确实是一个活动,您不应该这样使用它,而是创建并使用一个静态方法:

FourActivity.getRandomNumber();

您只是忘记了创建
FourActivity

否则,方法应该是静态的,如下所示

public static int getRandomNumber(){
    Random rnd=new Random();
    int randomNumber=rnd.nextInt(100);


    if (randomNumber%2==1){
        randomNumber=randomNumber+1;
        return randomNumber;

    }

    else return randomNumber;
}
&把它当作

int randomNumber;
randomNumber= fourActivity.getRandomNumber();
因为您没有完成您的
四项活动

FourActivity fourActivity = new FourActivity();
但如果您的函数是静态的,您可以这样使用它:

FourActivity.getRandomNumber();
成功

int randomNumber;
FourActivity fourActivity = new FourActivity();
randomNumber= fourActivity.getRandomNumber();

Toast.makeText(FinalActivity.this,"Random Number is"+randomNumber ,Toast.LENGTH_SHORT).show();

在类中创建FourActivity的实例

FourActivity fourActivity;
fourActivity = new FourActivity (<your context>);
FourActivity-FourActivity;
fourActivity=新的fourActivity();

简单的建议。当您得到一个空指针时,像这样,在异常发生之前放置一个调试标记,逐行检查每一行,看看什么是空的。初始化类中的fourActivity。i、 e.FourActivity FourActivity=新的FourActivity();谢谢,错误已被删除。现在解决一个新问题。假设我已经生成了一个随机数,它是50,我想把它的一半存储在整数中。我是这样做的:public int getAnswer(int randomNumber){return int answer=randomNumber/2;}但是答案是错误的。为什么会这样???@user3537259这不是一个问题,这是一个简单的错误,我认为你最好调试你的代码,而不是让别人把你的问题告诉你:)@user3537259如果这能解决你的问题,别忘了