我有這樣的代碼:在2個循環中隨機,我需要重新初始化嗎?
Random r = new Random();
while (mStack[step].hasNext()) {
int rand = r.nextInt(length);
for (int i = rand; i < length+rand; i++) {
//use of i and rand
}
}
而這一切在遞歸調用。
這會爲每次迭代播種一個新的隨機數,對每次遞歸調用都不同?
或者我必須使用
while (mStack[step].hasNext()) {
Random r = new Random();
int rand = r.nextInt(length);
for (int i = rand; i < length+rand; i++) {
//use of i and rand
}
}
請指點
您是否檢查了rand的輸出值? – John 2010-05-25 19:56:00
爲什麼你想爲每個電話隨機播種?這實際上可能會導致隨機數的減少 - 任何使用Random都需要一個種子,因爲它只是告訴它從算法/表格等開始。除此之外,這些數字將是僞隨機的。 – aperkins 2010-05-25 19:58:12