首頁 > Java > java教程 > 如何在 Java 中產生特定範圍內的隨機整數(和雙精度數)?

如何在 Java 中產生特定範圍內的隨機整數(和雙精度數)?

Linda Hamilton
發布: 2024-12-04 19:53:11
原創
376 人瀏覽過

How to Generate Random Integers (and Doubles) Within a Specific Range in Java?

Math.random() 運算:產生指定範圍內的隨機整數

Java 函數Math.random() 產生指定範圍內的隨機數範圍[0, 1)。但是,在某些情況下,您可能需要取得特定範圍內的隨機整數。本文示範如何使用 Math.random() 來實現此目的。

產生三到五之間的隨機整數的意圖

雖然語句「(int) Math .random() * 5 3" 沒有正確產生[3, 5]範圍內的隨機整數,可以使用自訂修正方法:

int randomWithRange(int min, int max) {
    int range = (max - min) + 1;
    return (int) (Math.random() * range) + min;
}
登入後複製

此方法計算可能值的範圍,將其乘以 Math.random(),並添加最小值以確保包含性。

輸出範例

System.out.println(randomWithRange(3, 5));
// Output: 3
登入後複製

防白痴錯誤排序

為了防止 min 大於 max時出現錯誤,更新的方法是:

int randomWithRange(int min, int max) {
    int range = Math.abs(max - min) + 1;
    return (int) (Math.random() * range) + (min <= max ? min : max);
}
登入後複製

雙隨機數產生的擴充

類似的方法可以用來產生隨機雙精確度數字:

double randomWithRange(double min, double max) {
    double range = (max - min);
    return (Math.random() * range) + min;
}
登入後複製

使用此方法:

System.out.println(randomWithRange(3.0, 5.0));
登入後複製

以上是如何在 Java 中產生特定範圍內的隨機整數(和雙精度數)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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