java-内部随机while循环导致具有所有相同数字的无限循环

java-内部随机while循环导致具有所有相同数字的无限循环,java,random,while-loop,Java,Random,While Loop,在“按做编程”网站上,我陷入了“双骰子”练习。它应该运行一个while循环,直到你为每个骰子得出相同的值(双倍-3和3,4和4,等等) 我已经输入了我认为正确的代码,但是我得到了这个无限循环,每次通过while循环都会输出完全相同的“随机数” 我已经思考了大约一天,决定把它交给苏 谢谢 import java.util.Random; public class diceDoubles { public static void main(String[] args){

在“按做编程”网站上,我陷入了“双骰子”练习。它应该运行一个while循环,直到你为每个骰子得出相同的值(双倍-3和3,4和4,等等)

我已经输入了我认为正确的代码,但是我得到了这个无限循环,每次通过while循环都会输出完全相同的“随机数”

我已经思考了大约一天,决定把它交给苏

谢谢

import java.util.Random;

public class diceDoubles {

    public static void main(String[] args){

        Random dice = new Random();

        int roll1 = 1 + dice.nextInt(6);
        int roll2 = 1 + dice.nextInt(6);

        System.out.println("HERE COMES THE DICE!\n");

        while(roll1 != roll2) {

            System.out.println("Die 1: " + roll1);
            System.out.println("Die 2: " + roll2);
            System.out.println("The total is " + (roll1 + roll2) + "\n");
        }
    }
}
您需要将“变量
roll1
roll12
updatecode”添加到
while
循环中,如下所示:

while(roll1 != roll2) {

    roll1 = 1 + dice.nextInt(6);
    roll2 = 1 + dice.nextInt(6);

    System.out.println("Die 1: " + roll1);
    System.out.println("Die 2: " + roll2);
    System.out.println("The total is " + (roll1 + roll2) + "\n");
}

花些时间熟悉代码的控制流,以及每条语句的作用

<type> <identifier>;
计算表达式的值,并更新标识符以保存该值。您可以将这些组合为:

<type> <identifier> = <expression>;
=;
它将声明一个变量并立即为其赋值

while(<condition>) { <expressions> }
while(){}
反复执行表达式,直到条件变为false。不过,它只在大括号之间重复表达式。
在代码中,这些大括号之间(即“while循环体中”)没有任何内容会实际更新这些值。您只在while循环之外调用赋值语句,因此任何内容都不会更改。

那么,为什么您认为您的值应该更改?你的代码的哪一部分让你这么想?你从不更新循环中的
roll1
roll2
,所以条件永远不会改变。值应该会改变,直到它生成双倍值…你从不更新roll1和roll2,所以它们会创建一个无限循环,尽管如此简单。我觉得我需要“重新初始化”变量。(Java新手,确定重新初始化word是错误的)你是完全正确的,这一点在我的脑海中萦绕。谢谢。最初我复制并粘贴了我的int roll1。。。int roll2代码到while循环,但它没有修复它。谢谢,我会的。谢谢你的术语。还有提示。
while(<condition>) { <expressions> }