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

时间:2013-04-02 19:43:14

标签: java variables random 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);
}

1 个答案:

答案 0 :(得分:8)

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

private Random rand = new Random();