Java数组计数器

时间:2013-03-04 14:24:44

标签: java arrays random counter

我正在练习使用新的波士顿教程,但是有一个我不太了解的程序。该程序旨在计算每个骰子卷中出现的数字的频率,并将结果存储在一个数组中。我遇到的问题是 ++ freq [1 + newDice.nextInt(6)] 。我理解 [1 + newDice.nextInt(6)] ;但是,每当数字出现时,数组如何知道将每个索引递增1?

Random newDice = new Random ();

        int freq[] = new int [7];

        for(int i = 1; i<= 1000; i++)
        {
            ++freq[1+newDice.nextInt(6)];
        }

        System.out.println("Dice Number\tFrequency");
        for(int i = 1; i< freq.length; i++)
        {
            System.out.println(i+"\t\t"+freq[i]);

        }

1 个答案:

答案 0 :(得分:4)

它正在递增存储在数组中该位置的值。它没有递增数组索引。

相当于:

int index = 1+newDice.nextInt(6);
int f = freq[index];
++f;
freq[index] = f;