为什么我不能将random.nextInt分配给变量?

0 java random variables assign

我希望变量p和z得到一个分配给它们的新随机数,但是在使用下面的代码时我得到一个NullPointerException.我之前做过类似的事情并且工作得很好所以我可能很傻并且遗漏了一些明显的东西.有帮助吗?谢谢!

示例代码:

private int p;
private int z;
private Random rand;

public test()
{
    p = 0;
    z = 0;
}

public void print()
{
    p = rand.nextInt(9);
    z = rand.nextInt(9);
    System.out.println(p + " " + z);
}
Run Code Online (Sandbox Code Playgroud)

rge*_*man 8

您尚未初始化rand为任何内容,因此Java null根据JLS 4.12.5将其初始化为.尝试

private Random rand = new Random();
Run Code Online (Sandbox Code Playgroud)