我試圖在0和1之間生成幾個隨機雙打。這是我運行的代碼,但返回的數字非常接近。我希望統一分佈在[0,1]或至少[0,1]的數字。我生成隨機數字:更新種子
public class MyClass
long seed = System.currentTimeMillis();
......
public double returnRandom() {
Random rand = new Random();
seed += 4; //update the seed
rand.setSeed(seed);
return rand.nextDouble();
}
(遍歷數組來填充)我結束了:
[0.10233441769044727]
[0.10484270731218648]
[0.1044843653222054]
[0.10412603823338551]
爲什麼更新種子而不是存儲'Random'的實例? – amit 2012-03-02 10:52:03
您的隨機值彼此接近,因爲您所有的「隨機」實例正在使用幾乎彼此相等的種子值。 Duffymo的解決方案應該可以工作... – quaylar 2012-03-02 10:54:13