Java 一旦我有了一个数字的总和和频率,我如何创建百分比?
我很难获得频率的百分比。问题如下: 编写一个程序来模拟两个骰子的滚动。程序应使用Random类对象一次滚动第一个模具,然后再次滚动第二个模具。然后应计算两个值的总和。每个模具可以显示1到6之间的整数值,因此值的总和从2到12不等,其中7是最频繁的总和,2和12是最不频繁的总和。你的应用程序应该掷骰子36000次。使用一维数组跟踪每个可能的和出现的次数。 以表格形式显示结果。确定总数是否合理(例如,这里有六种方式滚动7,因此大约六分之一的滚动应为7) 样本输出:Java 一旦我有了一个数字的总和和频率,我如何创建百分比?,java,percentage,Java,Percentage,我很难获得频率的百分比。问题如下: 编写一个程序来模拟两个骰子的滚动。程序应使用Random类对象一次滚动第一个模具,然后再次滚动第二个模具。然后应计算两个值的总和。每个模具可以显示1到6之间的整数值,因此值的总和从2到12不等,其中7是最频繁的总和,2和12是最不频繁的总和。你的应用程序应该掷骰子36000次。使用一维数组跟踪每个可能的和出现的次数。 以表格形式显示结果。确定总数是否合理(例如,这里有六种方式滚动7,因此大约六分之一的滚动应为7) 样本输出: Sum Frequency
Sum Frequency Percentage
2 1027 2.85
3 2030 5.64
4 2931 8.14
5 3984 11.07
6 5035 13.99
7 5996 16.66
8 4992 13.87
9 4047 11.24
10 2961 8.23
11 1984 5.51
12 1013 2.81
这是我目前的代码:
import java.security.SecureRandom;
public class DiceSum {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
SecureRandom random = new SecureRandom();
int dice1, dice2;
int [] frequency = new int [13];
int [] rolls = new int [13];
int sum;
int percentage;
for (int i = 0; i <= 36000; i++) { // runs 36000 times
dice1 = random.nextInt(6)+1; // generates a random number
dice2 = random.nextInt(6)+1;
frequency[dice1+dice2]++;
sum = dice1 + dice2; // creates the sum of dice 1 and dice 2
}
System.out.printf("Sum\tFrequency\tPercentage\n");
for (int i = 2; i < frequency.length; i++) {
percentage = (frequency * 100.0) \ 36000; //This is the line
System.out.printf("%d\t%d\t\n",i,frequency[i]);
} // end of for loop
} // end of main
} // end of class
导入java.security.SecureRandom;
公共类骰子和{
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args){
SecureRandom=新的SecureRandom();
智力骰子1,骰子2;
int[]频率=新int[13];
int[]滚动=新int[13];
整数和;
整数百分比;
对于(int i=0;i我建议更改该行
percentage = (frequency * 100.0) \ 36000;
到
频率[i]将从频率中获取第i个元素。对于除法,您应该使用/not\…然后您需要注意除以36000,它将视为int,也许最好将其写成36000.0。
percentage = (((double)frequency[i]) * 100.0) / 36000.0;