Math.random() 超越零到一
Math.random() 是一種通用方法,可以產生0 到1 之間的隨機數。本文探討如何利用 Math.random() 的強大功能來產生任意範圍內的隨機整數。
產生隨機整數
當 Math.random() 產生時0 到 1 之間的浮點數,可以使用它產生特定範圍內的隨機整數。為此,請將 Math.random() 的結果乘以所需的範圍,然後加上該範圍的最小值。
例如,要產生零到一百之間的整數,請使用以下公式:
(int) Math.floor(Math.random() * 101)
類似地,要產生 1 到 100之間的整數,請使用:
(int) Math.ceil(Math.random() * 100)
產生隨機數任意範圍內的整數
為了獲得更大的靈活性,可以定義一個計算指定範圍內的隨機整數的函數。以下程式碼實現了這一點:
int randomWithRange(int min, int max) { int range = (max - min) + 1; return (int)(Math.random() * range) + min; }
此函數採用兩個參數,min 和 max,表示所需範圍的下限和上限。它將範圍計算為 max 和 min 之間的差加一,並使用 Math.random() 產生該範圍內的隨機數。然後將隨機數偏移最小值以產生指定範圍內的整數。
例如,以下程式碼產生 3 到 5 之間的隨機整數:
randomWithRange(3, 5)
雙精確度隨機數
可以應用相同的技術來產生指定範圍內的雙精確度隨機數range:
double randomWithRange(double min, double max) { double range = (max - min); return (Math.random() * range) + min; }
處理無效輸入
處理無效輸入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 = Math.abs(max - min); return (Math.random() * range) + (min <= max ? min : max); }
以上是如何使用 Math.random() 產生任意範圍內的隨機整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!