我必须做一个骰子计划。程序会询问你想掷骰子的次数,然后询问你想要统计数字的数字(2-12)。然后它掷骰子(x)的次数,并给你每次滚动的数字。然后它会告诉你每个数字(2-12)被滚动的次数,它应该用程序告诉你你要求查看统计数据的百分比是多少(例如:25个骰子卷,2卷添加到总共10个。滚动的10s的百分比是8%)。
我必须使用这个程序的方法,我的统计方法打印1而不是多次7显示(我使用7作为一种测试我正在做什么,因为7应该弹出在掷骰子期间很多。)
我正在使用drjava,我不应该为我的程序使用调试器,因为我们的教练还没有教我们如何做到这一点!我认为我的循环是问题,因为我试图让d打印。
另外,我如何找到所选号码的滚动次数百分比?
import java.util.*;
public class EZD_diceRoll
{
public static void main(String args[])
{
EZD_diceRoll.roll();
EZD_diceRoll.statistics(d);
}
private static int die1;
private static int die2;
private static int total;
public static int number;
public static int d;
public static int times;
public static void roll()
{
Random nums = new Random();
Scanner kbReader = new Scanner(System.in);
System.out.print("How many times would you like to roll?");
times = kbReader.nextInt();
System.out.print("What number (dice roll total) do you want the statistics
for (2 - 12)?");
number = kbReader.nextInt();
for(int a = 1; a < times + 1; a++)
{
die1 = 1 + nums.nextInt(6);
die2 = 1 + nums.nextInt(6);
total = die1 + die2;
System.out.println("Dice roll #" + a + " is " + total);
}
}
public static void statistics(int d)
{
for(int c = 0; c < times + 1; c++)
{
if(total == 7)
{
d++;
}
}
System.out.println("The number of 7's thrown was " + d);
}
}
答案 0 :(得分:1)
1
键代表具体数字,代表频率。获得一个数字后,检查它是否存在于地图中。如果没有,请将其放入地图中,初始频率为app/build.gradle
。否则,增加频率。
答案 1 :(得分:0)
为骰子输出值初始化计数器(int var)(2-12) 并在for循环中使用switch语句,对于每个滚动输出,在每个情况下给出一个内部开关和递增计数器的情况,这些计数器值给出了滚动值的次数。
如果你只想要最终数字,只需使用所有system.out.print语句for(循环)for循环而不是在case语句中使用它们,下面的代码打印每个roll。
int[] count=new int[10] //counter for values 2-12
for(int a = 0; a < times + 1; a++)
{
die1 = 1 + num.nextInt(6);
die2 = 1 + num.nextInt(6);
total = die1 + die2;
switch(total)
{
case 2:
count[0]++;
System.out. print("dice 2 rolled" +count[0] +" time");
break;
case 3:
count[1]++;
System.out. print("dice 3 rolled" +count[1] +" time");
break;
case 4:
count[2]++;
System.out. print("dice 4 rolled" +count[2] +" time");
break;
.
.
.
.
case 12:
count[10]++;
System.out. print("dice 12 rolled" +count[10] +" time");
break;
} }