2

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

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]);

        }
4

1 回答 1

4

它正在递增存储在数组中该位置的值。它不会增加数组索引。

它相当于:

int index = 1+newDice.nextInt(6);
int f = freq[index];
++f;
freq[index] = f;
于 2013-03-04T14:26:35.037 回答