Java 一旦我有了一个数字的总和和频率,我如何创建百分比?

Java 一旦我有了一个数字的总和和频率,我如何创建百分比?,java,percentage,Java,Percentage,我很难获得频率的百分比。问题如下: 编写一个程序来模拟两个骰子的滚动。程序应使用Random类对象一次滚动第一个模具,然后再次滚动第二个模具。然后应计算两个值的总和。每个模具可以显示1到6之间的整数值,因此值的总和从2到12不等,其中7是最频繁的总和,2和12是最不频繁的总和。你的应用程序应该掷骰子36000次。使用一维数组跟踪每个可能的和出现的次数。 以表格形式显示结果。确定总数是否合理(例如,这里有六种方式滚动7,因此大约六分之一的滚动应为7) 样本输出: Sum   Frequency  

我很难获得频率的百分比。问题如下:

编写一个程序来模拟两个骰子的滚动。程序应使用Random类对象一次滚动第一个模具,然后再次滚动第二个模具。然后应计算两个值的总和。每个模具可以显示1到6之间的整数值,因此值的总和从2到12不等,其中7是最频繁的总和,2和12是最不频繁的总和。你的应用程序应该掷骰子36000次。使用一维数组跟踪每个可能的和出现的次数。 以表格形式显示结果。确定总数是否合理(例如,这里有六种方式滚动7,因此大约六分之一的滚动应为7) 样本输出:

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;