Java 在带有循环的数组中存储随机数
我需要将一个随机数存储到一个数组中,然后能够在以后比较数组和。到目前为止,我有:Java 在带有循环的数组中存储随机数,java,arrays,for-loop,Java,Arrays,For Loop,我需要将一个随机数存储到一个数组中,然后能够在以后比较数组和。到目前为止,我有: public class Die { private int dieValue = 0; private Random randomNumbers = new Random(); public Die() { } public void rollDie() { dieValue = randomNumbers.nextInt(6*1); } public void displayD
public class Die {
private int dieValue = 0;
private Random randomNumbers = new Random();
public Die() {
}
public void rollDie() {
dieValue = randomNumbers.nextInt(6*1);
}
public void displayDie() {
int[] die = new int[3];
for(int counter = 0; counter<die.length; counter++ ) {
rollDie();
die[counter] = dieValue;
}
System.out.print("Your Dies are: " + die[1] + " and " + die[2] + " and "
+ die[3]);
dieValue = die[1] + die[2] + die[3];
}
公共类死亡{
私有值=0;
私有随机数=新随机数();
公众死亡(){
}
公共无效rollDie(){
dieValue=随机数。下一个(6*1);
}
公共空间{
int[]模具=新的int[3];
对于Java中的(int counter=0;counter,数组从索引0开始,因此大小为3的数组(如您所做)将具有索引0,1,2。超出范围是因为您试图使用索引1,2,3(3不存在)
另外,您是说您需要在以后访问这些值,因此您可能应该使用该方法声明数组,以便在该方法完成后它仍然存在(刚才,由于变量的范围,它将在displayDie()完成后消失)当您试图访问存储在数组中的第一个值时,索引应为0,在上面的代码中,您尝试访问3个值,分别为die[1]
、die[2]
和die[3]
,但您需要以die[0]
、die[1]
和die[2]的形式访问它们
displayDie()方法中的die数组的索引已关闭,Java中的数组索引从0开始。第一个值将是die[0],而不是die[1]。您拥有的最后一行
dieValue = die[1] + die[2] + die[3];
假设是
dieValue = die[0] + die[1] + die[2];
因为没有死亡[3]
,所以会出现错误
您可以做什么,循环数组会更好
for(int i=0; i< die.length; i++){
dieValue +=die[i];
}
for(int i=0;i