Java 如何使用Random.nextInt()?
我试图得到随机整数,但得到了nullpointerexception。我想得到ArrayList和我在Begging添加的第一个元素,这是正确的。接下来,我想从answersdata[10]中获得三个随机字符串。我检查了答案数据中的元素是否符合我的要求。 答案数据为字符串[] 我在这行有错误: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
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()时代码>它开始工作