我正在尝试创建一个带有2个骰子的随机骰子掷骰子生成器,该骰子掷骰子生成器将输出介于1和6之间的两个数字。该代码针对测试运行,并且仅在以下事实上失败:掷骰子1和掷骰子2不在1之间和6.我希望我能对此有所帮助,因为我不明白为什么它会输出0 0。
/* Fills the die array */
public int roll() {
int total = 0;
for (int i = 0; i < numDice; i++) {
die[i] = rollDie();
total += die[i];
}
return total;
}
/* Creates a random value for a single dice */
private int rollDie() {
return random.nextInt(6) + 1;
}
/* Returns die array */
public int[] getDieValues() {
int[] dieCopy = new int[numDice];
for(int i = 0; i < numDice; i++)
dieCopy[i] = die[i];
return dieCopy;
}
/* Prints dice values */
public String toString() {
String s = new String();
s = "";
for(int i = 0; i < numDice; i++) {
s += getDieValues()[i] + " ";
}
return s;
}
}
我将问题缩小为这4种方法,在这些方法中,我知道如果手动将return random更改为4这样的数字,则可以使用。我相信我的问题出在填充die数组,复制die数组或当我从数组调用值时的最后一个方法中。
非常感谢您的帮助!