这是我的代码,对象是计算10,000个卷的双倍1s,2s,3s ......的数量。这就是我到目前为止所写的内容,我无法弄清楚为什么它会将每一卷都计算为双重
while (count < 10000)
{
Random rand = new Random();
die1Value = rand.nextInt(6) + 1;
die2Value = rand.nextInt(6) + 1;
if(die1Value == die2Value)
{
if (die1Value == 1)
{
++snakeEyes;
}
else if (die1Value == 2)
{
++twos;
}
else if (die1Value == 3)
{
++threes;
}
else if (die1Value == 4)
{
++fours;
}
else if (die1Value == 5)
{
++fives;
}
else if (die1Value == 6)
{
++sixes;
}
++count;
}
}
非常感谢您的反馈。
答案 0 :(得分:2)
您正在count
内增加if
:
if(die1Value == die2Value)
{
// ...
++count;
}
您的while
循环位于count
值:
while (count < 10000)
所以,你实际做的就是弃掉你没有双倍投掷的每一次投掷并重新投掷它。
答案 1 :(得分:1)
因为++count
位于if(die1Value == die2Value)
块
所以它会根据需要循环多次以找到10000个双打。大约是这个数字的6倍。
重新格式化上面的代码可以更清楚地显示这一点。