我试图同时制作三个骰子,直到它们落在同一个数字上

时间:2017-02-24 22:44:12

标签: java

我正在尝试让我的程序能够显示在3个骰子落在同一个数字上所花费的次数,然后告诉使用它花了多少次,它已经登陆并拥有的数量他们重复这个过程3次。但是,我无法弄清楚如何使程序运行。目前,只有Try,Dice 1,Dice 2,Dice 3弹出,然后是Try下的卷数量。如何使这个程序的其余部分工作?谢谢!

import java.util.Random;
public class Q1
  {
    public static void main(String[] args){
        Random g=new Random();
    boolean same=false;
    int dice1=0;
    int dice2=0;
    int dice3=0;
    int count=0;
    System.out.println("Try\tDice 1\tDice 2\tDice 3");
    do{
            System.out.println();
            count++;
            dice1=g.nextInt(6)+1;
            dice2=g.nextInt(6)+1;
            dice3=g.nextInt(6)+1;
            System.out.print(count+"\t");

            if(dice1==dice2 && dice2==dice3){
            same=true;
            System.out.println("It took"+count+"times and they all landed on number "+??);
           }
       }
       while(!same);
    }
}

2 个答案:

答案 0 :(得分:0)

same将始终为真,因为您从未在代码中将其设置为false,但在您的do-while循环中,您需要检查!same,这将始终返回false,因为相同总是如此。

答案 1 :(得分:0)

试试这个:

import java.util.Random;
public class Q1
  {
    public static void main(String[] args){
        Random g=new Random();
    boolean same=false;
    int dice1=0;
    int dice2=0;
    int dice3=0;
    int count=0;
    System.out.println("Try\tDice 1\tDice 2\tDice 3");
    do{
            System.out.println();
            count++;
            dice1=g.nextInt(6)+1;
            dice2=g.nextInt(6)+1;
            dice3=g.nextInt(6)+1;
            System.out.print(count+"\t");

            if(dice1==dice2 && dice2==dice3){
            same=true;
            System.out.println("It took"+count+"times.");
           }
       }
       while(!same);
    }
}