我正在做一個android的骰子游戲,我有這個循環,用滾動「j」的數字滾動來填充數組。它是這樣進行的這個for循環有什麼問題?
int[] rolls = new int[6];
for (int j : rolls) {
rolls[j] = (int) (Math.random() * 5);
rolls[j]++;
Log.i(getClass().getName(), "Rolls[" + j + "] = " + rolls[j]);
}
除輸出(在日誌文件中是這樣)
Rolls[0] = 4
Rolls[0] = 2
Rolls[0] = 3
Rolls[0] = 6
Rolls[0] = 3
Rolls[0] = 4
當我更改代碼以這種
int[] rolls = new int[6];
for (int j = 0; j < rolls.length ; j++) {
rolls[j] = (int) (Math.random() * 5);
rolls[j]++;
Log.i(getClass().getName(), "Rolls[" + j + "] = " + rolls[j]);
}
輸出是正確的
Rolls[0] = 4
Rolls[1] = 2
Rolls[2] = 3
Rolls[3] = 6
Rolls[4] = 3
Rolls[5] = 4
我一定在做s某處愚蠢的東西。
謝謝大家的精彩答案(他們太快了!)andersoj得到正確的答案,因爲他先回答。現在我得去講我的HS電腦老師... – Gonzo 2011-03-28 02:35:40