Java:打印数组中每个数字的出现频率(以百分比表示)

Java: Printing for each number in array frequency of occurrence in percent

对于家庭作业,我必须打印数组中每个整数的出现频率。这意味着如果我有一个包含整数 1,2,2,5 的数组,程序将打印:

Number 1: 25%
Number 2: 50%
Number 5: 25%

或者例如包含数字 1,1,1,2,2,2,2,3,3,3,3,3 的数组,它将打印:

Number 1: 25%
Number 2: 33.33333%
Number 3: 41.66666%

我们一直在学习 for 循环和 if 结构,所以我想以这种方式在一个 class 和“public static void main(String[] args) { } 函数。

任何人都可以给我一些建议,我该如何开始呢? 我不需要解决方案,只需要建议如何去做。

谢谢!

你知道你有多少个号码,比如在你的第一个例子中,你有 4 个号码。 你知道“2”出现了两次。所以,2/4 = 0.5 和 0.5*100 = 50% 同样适用于“1”。它出现一次,所以 1/4 = 0.25 和 0.25*100 = 25%.

You can do with rule of three:

Example: 1,1,1,2,2,2,2,3,3,3,3,3

You have 12 numbers.

Number 1: 3,

Number 2: 4,

Number 3: 5


12 - 100%

03 - X


Number 1 porcent: 12x = 100 * 3 = 25%

Number 2 porcent: 12x = 100 * 4 = 25%

Number 3 porcent: 12x = 100 * 5 = 25%

Number X porcent: Total * x = 100 * Quantity = Porcent in %

I think it works

我认为做这个练习最简单的方法是使用

String.split(exp)

,有点像

public static void main(String[] args) {
        String numbers = "1,1,1,2,2,2,2,3,3,3,3,3";
        String[] arrayNumbers = numbers.split(",");
        for(int i = 0 ; i < arrayNumbers.length ; i++){
             //count each number and divide by arrayNumbers.length
        }
 }