使用 Set Seed 解決 Java 中重複生成隨機數的問題
問題描述:
在實作隨機數產生器時,開發者可能會遇到這樣的情況:呼叫隨機數方法,儘管設定了種子,但仍不斷產生相同的輸出。
程式碼範例:
考慮以下程式碼片段:
多次呼叫numbers.random(10)時,它會持續回傳相同的數字,例如5,而不是不同的輸出。
解:
為了確保使用預定義種子產生唯一的隨機數,Random() 實例必須在整個類別中共用。這可以透過以下程式碼修改來實現:
透過在類別建構子中初始化 randnum 實例,它成為類別中所有方法都可以存取的共享資源。這確保了種子僅設定一次,並且對 random() 方法的後續呼叫會產生不同的隨機數。
以上是為什麼在Java隨機數產生器中設定種子會導致重複輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!