我正在练习使用新的波士顿教程,但是有一个我不太了解的程序。该程序旨在计算每个骰子卷中出现的数字的频率,并将结果存储在一个数组中。我遇到的问题是 ++ 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]);
}
答案 0 :(得分:4)
它正在递增存储在数组中该位置的值。它没有递增数组索引。
相当于:
int index = 1+newDice.nextInt(6);
int f = freq[index];
++f;
freq[index] = f;