我的程序需要扔 2 个骰子,当两个骰子都是 6 时,它就会退出循环并显示它尝试了多少次,但由于某种原因,我得到了非常奇怪的尝试数字,例如,大多数都是“它花了 1 个骰子” -3次尝试”.. 请帮忙。
public class SheshBesh {
public static void main(String[] args){
int r1 = 0;
int r2 = 0;
int tries = 0;
while (r1 != 6 && r2 != 6) {
r1 = (int)(Math.random() * 6) + 1;
r2 = (int)(Math.random() * 6) + 1;
tries = tries + 1;
}
System.out.println("Shesh-Besh apears... it took " + tries + " tries.");
}
}
最佳答案
我留下了关于调试的评论,这应该可以帮助您将来解决此类错误。您需要能够跟踪程序的执行,以便您可以开始推理它失败的原因。
原因是这一行:
while (r1 != 6 && r2 != 6)
如果 r1 为 6 并且 r2 为 4,则计算结果为 false,并退出循环。
您应该将其更改为以下之一:
while (r1 != 6 || r2 != 6)
或者更有启发性:
while (!(r1 == 6 && r2 == 6))
关于java - 两个骰子 throw 游戏问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33460165/