我的assignment instructions是“滚动”2个骰子并获得总和,然后根据用户想要掷骰子的次数找出总和出现的概率。我必须使用嵌套循环,并且我不能为每个骰子组合使用单独的循环(我没有这样做)。我不能在这个任务中使用数组。(Java)使用嵌套循环
编写一个程序来模拟抛掷一对11面骰子,并确定每个可能的骰子组合掷骰子的百分比。
- 在Mod05 Assignments文件夹中创建一个名为5.05 Random Dice的新项目。
- 在新创建的项目文件夹中创建一个名为DiceProbability的类。
- 要求用户输入掷骰子的次数。
- 计算每个骰子组合的概率。 (您可能要开始更熟悉的六面骰子。)
- 打印结果整齐的两列
我需要找出什么,我投入的第二个“for”循环的帮助。对不起,杂乱的整数列表和if语句。代码未完成。
import java.util.Random;
import java.util.Scanner;
public class DiceProbability
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
Random randNum = new Random();
int count2 = 0;
int count3 = 0;
int count4 = 0;
int count5 = 0;
int count6 = 0;
int count7 = 0;
int count8 = 0;
int count9 = 0;
int count10 = 0;
int count11= 0;
int count12= 0;
int count13 = 0;
int count14 = 0;
int count15 = 0;
int count16 = 0;
int count17 = 0;
int count18 = 0;
int count19 = 0;
int count20 = 0;
int count21 = 0;
int count22 = 0;
int die1 = 0, die2 = 0;
int rolls = 0;
int actualDiceSum;
double probabilityOfDice = 0.0;
System.out.print("Number of Rolls: ");
rolls = in.nextInt();
for(int timesRolled = 0; timesRolled < rolls; timesRolled++)
{
die1 = randNum.nextInt(12);
die2 = randNum.nextInt(12);
actualDiceSum = die1 + die2;
for()
{
if(actualDiceSum == 2){
count2++;
probabilityOfDice = count2/rolls;
}
else if(actualDiceSum == 3){
count3++;
probabilityOfDice = count3/rolls;
}
else if(actualDiceSum == 4){
count4++;
probabilityOfDice = count4/rolls;
}
else if(actualDiceSum == 5){
count5++;
probabilityOfDice = count5/rolls;
}
else if(actualDiceSum == 6){
count6++;
probabilityOfDice = count6/rolls;
}
else if(actualDiceSum == 7){
count7++;
probabilityOfDice = count7/rolls;
}
else if(actualDiceSum == 8){
count8++;
probabilityOfDice = count8/rolls;
}
else if(actualDiceSum == 9){
count9++;
probabilityOfDice = count9/rolls;
}
else if(actualDiceSum == 10){
count10++;
probabilityOfDice = count10/rolls;
}
else if(actualDiceSum == 11){
count11++;
probabilityOfDice = count11/rolls;
}
else if(actualDiceSum == 12){
count12++;
probabilityOfDice = count12/rolls;
}
else if(actualDiceSum == 13){
count13++;
probabilityOfDice = count13/rolls;
}
else if(actualDiceSum == 14){
count14++;
probabilityOfDice = count14/rolls;
}
else if(actualDiceSum == 15){
count15++;
probabilityOfDice = count15/rolls;
}
else if(actualDiceSum == 16){
count16++;
probabilityOfDice = count16/rolls;
}
else if(actualDiceSum == 17){
count17++;
probabilityOfDice = count17/rolls;
}
else if(actualDiceSum == 18){
count18++;
probabilityOfDice = count18/rolls;
}
else if(actualDiceSum == 19){
count19++;
probabilityOfDice = count19/rolls;
}
else if(actualDiceSum == 20){
count20++;
probabilityOfDice = count20/rolls;
}
else if(actualDiceSum == 21){
count21++;
probabilityOfDice = count21/rolls;
}
else if(actualDiceSum == 22){
count22++;
probabilityOfDice = count22/rolls;
}
}
}
System.out.println("Sum of Dice \t\t Probability");
System.out.println("2's\t\t" + probabilityOfDice + "%");
System.out.println("3's\t\t" + probabilityOfDice + "%");
System.out.println("4's\t\t" + probabilityOfDice + "%");
System.out.println("5's\t\t" + probabilityOfDice + "%");
System.out.println("6's\t\t" + probabilityOfDice + "%");
System.out.println("7's\t\t" + probabilityOfDice + "%");
System.out.println("8's\t\t" + probabilityOfDice + "%");
System.out.println("9's\t\t" + probabilityOfDice + "%");
System.out.println("10's\t\t" + probabilityOfDice + "%");
System.out.println("11's\t\t" + probabilityOfDice + "%");
System.out.println("12's\t\t" + probabilityOfDice + "%");
System.out.println("13's\t\t" + probabilityOfDice + "%");
System.out.println("14's\t\t" + probabilityOfDice + "%");
System.out.println("15's\t\t" + probabilityOfDice + "%");
System.out.println("16's\t\t" + probabilityOfDice + "%");
System.out.println("17's\t\t" + probabilityOfDice + "%");
System.out.println("18's\t\t" + probabilityOfDice + "%");
System.out.println("19's\t\t" + probabilityOfDice + "%");
System.out.println("20's\t\t" + probabilityOfDice + "%");
System.out.println("21's\t\t" + probabilityOfDice + "%");
System.out.println("22's\t\t" + probabilityOfDice + "%");
}
}
究竟做你的代码做的,你在哪里打破你的内心'for'循环?看起来它永远都是。另外,在这种情况下,使用'switch ... case'语句而不是'if ... else if ... else'阶梯将更合适。 – Lion
@Lion我只是想说。另外,你应该真的使用某种类型的数组系统或其他东西。所有这些计数变量都很疯狂。 – Austin
说明:编写一个程序来模拟抛掷一对11面骰子,并确定掷骰子每个可能组合的次数百分比。 1.在Mod05 Assignments文件夹中创建一个名为5.05 Random Dice的新项目。 2.在新创建的项目 文件夹中创建一个名为DiceProbability的类。 3.要求用户输入掷骰子的次数。 4.计算每个骰子组合的概率。 (你可能想从 更熟悉的六面骰子开始。) 5.将结果整齐排列在两列 – user1713336