Java蛇眼程序错误
我正在做一个模拟器,看看随机数发生器滚动蛇眼需要多少次。程序只是重复Java蛇眼程序错误,java,loops,random,Java,Loops,Random,我正在做一个模拟器,看看随机数发生器滚动蛇眼需要多少次。程序只是重复 Not snake eyes yet :( 代码如下: import java.util.Random; public class SnakeEyes { public static void main(String[] args) { Random myRandom = new Random(); int die1 = 0, tries = 0, die2 = 0; System.out.pr
Not snake eyes yet :(
代码如下:
import java.util.Random;
public class SnakeEyes {
public static void main(String[] args) {
Random myRandom = new Random();
int die1 = 0, tries = 0, die2 = 0;
System.out.println("Welcome to SEO (Snake Eyes Operator)!");
System.out.println("How many rolls will it take you to get to snake eyes! ");
die1 = myRandom.nextInt(6) + 1;
die2 = myRandom.nextInt(6) + 1;
while (die1 + die2 != 2) {
System.out.println("Not snake eyes yet :( ");
tries = +1;
}
System.out.print("You have rolled snake eyes! ");
System.out.print("Congratulations! It only took you ");
System.out.print(tries);
System.out.print("!");
}
}
我相信这是一个开环的问题,但我不确定。谢谢 使用while循环时,必须更新检查的值,否则循环将永远不会停止 您需要更新循环中的die1和die2值。您需要分配myRandom.nextInt6+1;在while循环中,否则它将通过反复检查相同的值进行迭代 当die1+die22条件get failed它将进入无限循环,必须有一个条件来中断循环。 尝试此操作将在10次迭代后中断循环:
while (die1 + die2 != 2) {
System.out.println("Not snake eyes yet :( ");
die1 = myRandom.nextInt(6) + 1;
die2 = myRandom.nextInt(6) + 1;
tries += 1;
if(tries==10)
break;
}
替换trys=+1;尝试次数+=1
不会改变,因此,如果满足以下条件,循环将永远运行:
while (die1 + die2 != 2)
因此,您可能必须在while循环中放入一个逻辑来逻辑更新die1和/或die2的值。我已将die1=和die2=添加到while循环中system.outprint.ln之后的while循环复制粘贴中,并将trys=+1更新为trys+=1。它仍然给我无限循环。你可以添加一些打印来自己调试它。在循环内打印die1和die2的值如何?已修复。谢谢@老板,不用谢。请阅读
while (die1 + die2 != 2)