儘管有種子,Java 隨機數產生器總是傳回相同的數字
在提供的Java 程式碼中,儘管設定了種子,但隨機數產生器始終傳回相同的數字產生相同的數字。為每個方法呼叫建立新的 Random 物件時會出現問題。這確保每次都會產生新的種子,從而導致隨機數的重複。
要解決此問題,必須在整個類別中共用單一 Random 實例。透過合併此更改,我們保證種子僅設定一次,從而產生一系列真正的隨機數。
public class Numbers { // Shared Random instance private Random randnum = new Random(); public int random(int i) { randnum.setSeed(123456789); return randnum.nextInt(i); } }
透過此修改,對 random 方法的後續呼叫將傳回不同的數字,遵循擁有固定種子的限制。
以上是儘管設定了種子,為什麼我的 Java 隨機數產生器始終會傳回相同的數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!