首頁 > Java > java教程 > 為什麼我在 Java 中的隨機數字看起來每次都是一樣的?

為什麼我在 Java 中的隨機數字看起來每次都是一樣的?

Patricia Arquette
發布: 2024-11-09 13:41:02
原創
974 人瀏覽過

Why Do My Random Numbers in Java Seem to Be the Same Every Time?

在 Java 中使用種子理解隨機數

在 Java 中,種子用於初始化 Random 實例並產生偽隨機數序列。當提供相同的種子時,Random 實例會產生相同的數字序列。

為什麼我的隨機數每次都相同?

在提供的程式碼中:

double num = generator.nextDouble() * (0.5);
登入後複製

每次呼叫 randomGenerator 使用相同的種子,產生相同的隨機數序列。

如何修復它

使用種子產生不同的隨機數序列:

  1. 使用不同的種子:每次呼叫randomGenerator 時,提供不同的種子作為Random 建構函數的參數。這將建立多個 Random 實例,每個實例都有一個唯一的種子。
  2. 使用預設種子:如果您想在多個呼叫中使用相同的種子,請在外部初始化一個 Random 實例。具有零參數建構函式的 randomGenerator 方法,該方法使用目前時間作為種子。

範例:

private Random generator = new Random(); // outside randomGenerator
double randomGenerator() {
    return generator.nextDouble() * (0.5); // inside randomGenerator
}
登入後複製

偽隨機數產生

偽隨機數產生器(PRNG) 看似隨機但具有確定性的序列,並以初始值作為種子。當使用相同的種子時,PRNG 會產生相同的序列。

以上是為什麼我在 Java 中的隨機數字看起來每次都是一樣的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板