计算随机生成的数字列表中的频率

时间:2009-09-14 14:11:06

标签: java

我从0-9生成100个随机数,我应该计算每个数字出现的次数。将它存储在10个整数的数组中并计算它。

这是我到目前为止所做的,我无法弄清楚计数部分。

Random r = new Random();
int[] integers = new int[100];

for (int i=0; i<integers.length; i++)
{
  integers[i] = (r.nextInt(10)+0);
}

4 个答案:

答案 0 :(得分:9)

这是一个线索:您需要采用数组索引表示存储的数字的方法,并且该数组元素的等于频率。

祝你好运!

答案 1 :(得分:7)

  • 为计数创建一个数组(即长度为10的数组)。值将自动从0开始
  • 遍历integers数组,并为每个元素增加其当前计数(即该结果的“计数数组”中的当前值)

我宁愿不在这里提供完整的代码,因为它显然是家庭作业,但如果你发布你的进展,我们可以帮助你遇到困难。

答案 2 :(得分:0)

int[] count = {0,0,0,0,0,0,0,0,0,0};
for(int i: integers) {
    count[i]++;
}

答案 3 :(得分:0)

你已经用JavaScript标记了你的问题,所以这里有一个JavaScript方法,可以找出1到10(含)之间的随机数的实例数...

    <div id="output">
        <p>Calculating...</p>
    </div>
    <script type="text/javascript">
    var range = 10;

    var counts = new Array();
    for (i=1; i<=range; i++) {
        counts[i] = 0;
    }

    var ints = new Array();
    for (i=0; i<100; i++) {
        var randomnumber = Math.floor(Math.random()*(range+1));
        ints[i] = randomnumber;
        counts[randomnumber] = parseInt(counts[randomnumber]) + 1;
    }

    var output = "";
    for (i=1; i<=range; i++) {
        output += i + " - " + counts[i] + "<br>";
    }

    document.getElementById("output").innerHTML = output;
    </script>

更新 - 很酷 - 所以JavaScript标记已被删除。忘了这个!!!

相关问题