2013-03-04 24 views
2

我在練習使用新的波士頓教程,但是有一個程序我不完全理解。該程序旨在計算每個骰子滾動中出現的數字的頻率並將結果存儲在一個數組中。我遇到的問題是++ freq [1 + newDice.nextInt(6)]。我明白[1 + newDice.nextInt(6)];然而,數組如何知道在每次數字發生時將每個索引加1?Java數組計數器

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

它正在遞增存儲在數組中該位置的值。它不會增加數組索引。

它等效於:

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

感謝格雷厄姆澄清。 – Calgar99 2013-03-04 14:30:16