Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java蛇眼程序错误_Java_Loops_Random - Fatal编程技术网

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)