Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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 如何使用Random.nextInt()?_Java_Android_Nullpointerexception - Fatal编程技术网

Java 如何使用Random.nextInt()?

Java 如何使用Random.nextInt()?,java,android,nullpointerexception,Java,Android,Nullpointerexception,我试图得到随机整数,但得到了nullpointerexception。我想得到ArrayList和我在Begging添加的第一个元素,这是正确的。接下来,我想从answersdata[10]中获得三个随机字符串。我检查了答案数据中的元素是否符合我的要求。 答案数据为字符串[] 我在这行有错误: nr1 = rand.nextInt(10); 此方法的所有代码: private void set_answer(int nrquestion) { int nr1, nr2, nr3; answ

我试图得到随机整数,但得到了nullpointerexception。我想得到ArrayList和我在Begging添加的第一个元素,这是正确的。接下来,我想从answersdata[10]中获得三个随机字符串。我检查了答案数据中的元素是否符合我的要求。 答案数据为字符串[] 我在这行有错误:

nr1 = rand.nextInt(10);
此方法的所有代码:

private void set_answer(int nrquestion) {
int nr1, nr2, nr3;  
answers.add(answersdata[nrquestion]);

do{
    nr1 = rand.nextInt(10);
}while(nr1==nrquestion);

answers.add(answersdata[nr1]);  

do{
    nr2 = rand.nextInt(10);
}while(nr2==nrquestion|| nr2==nr1);

answers.add(answersdata[nr2]);

do{
    nr3 = rand.nextInt(10);
}while(nr3==nrquestion|| nr3==nr1 || nr3==nr2);

answers.add(answersdata[nr3]);


Collections.shuffle(answers);
}
当我写静态数字时,它会起作用,例如:

nr1 = 5;

似乎您忘记了使用随机对象初始化rand


Random rand=新的Random()//在尝试调用rand之前,也许展示一个快速方法会比实际解释更好地解释它的工作原理:

public int generateRandomNumberBetween(int min, int max){
    return min + new Random().nextInt(max - min + 1);
}

上述方法将生成一个介于[min,max](含)之间的数字。建议您在某个地方创建一个常量
Random
实例,这样您就不必在每次方法调用时都创建一个新的1

从哪里得到空指针异常?在哪一行代码上?您是否初始化了
rand
?这里是空指针异常
nr1=rand.nextInt(10)是的,我初始化它
私有随机兰德thx,我有
私人随机兰德当我更改为
private Random rand=new Random()时它开始工作