我正在尝试让我的程序能够显示在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);
}
}
答案 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);
}
}