2014-01-31 23 views
0

首先,這是我的輸出。我如何取第二列的百分比?

run: 
    How many dice do you want to roll: 8 

How many sides on die number 1: 5 
How many sides on die number 2: 3 
How many sides on die number 3: 7 
How many sides on die number 4: 8 
How many sides on die number 5: 5 
How many sides on die number 6: 3 
How many sides on die number 7: 5 
How many sides on die number 8: 6 

How many times do you want to roll: 50 

Results 

[8]  0 
[9]  0 
[10] 0 
[11] 0 
[12] 0 
[13] 0 
[14] 1 
[15] 0 
[16] 1 
[17] 0 
[18] 1 
[19] 6 
[20] 2 
[21] 3 
[22] 4 
[23] 4 
[24] 6 
[25] 6 
[26] 3 
[27] 3 
[28] 1 
[29] 6 
[30] 1 
[31] 1 
[32] 0 
[33] 0 
[34] 1 
[35] 0 
[36] 0 
[37] 0 
[38] 0 
[39] 0 
[40] 0 
[41] 0 
    BUILD SUCCESSFUL (total time: 13 seconds) 

看------------------------------------ -----

我想添加第三列,顯示實際%符號的第二列的百分比。


我用的printf作爲我的代碼,但我不知道我是否可以操縱第二%d成爲一個百分比

for (int i = minRoll; i < maxRoll; i++) { 

     System.out.printf("[%d] \t %d \n", i , sumArray[i]); 
    } 
+1

的百分比。你能否詳細說明你在找什麼? – Reddy

+0

@Reddy,我試圖找出特定數量(在左側)從總滾動次數中滾出的次數的百分比。 – Frightlin

+0

所以這是一個「滾動」的百分比? – ChiefTwoPencils

回答

0

使用HashMap來存儲每個值的出現:

// initialize 
Map<Integer, Integer> occ = new HashMap<Integer, Integer>(); 
for (int i = 1; i <= 6; i++) { 
    occ.put(i,0); 
} 

,然後,當你「擲骰子,說dice = 5你這樣做:

occ.put(dice, occ.get(dice)+1); // update the number of occurrences of the result of the current roll 

發現現在的比例將是容易的,對於每一個「滾」這將是:

100 * occ.get(dice)/number-of-rolls 
+0

謝謝!繼續保持! – Frightlin