為什麼要使用 Random.nextInt() 而不是 Math.random()?
Math.random() 和Random.nextInt 之間的選擇() 取決於所需的
Math.random()
Math.random() 產生0.0 到0.9999999999999999 之間的隨機雙精度值(小於 1.0)。將此值乘以整數 n 會得到 0.0 到 n-1 之間的雙精確值。然而,由於可能值的分佈不均勻,將此雙精度型轉換為整數會引入偏差。具體來說,值 0 和 n 比其他值更有可能出現。
Random.nextInt()
相反,Random.nextInt(n) 產生一個0 到n-1 之間的整數(包括0 和n-1) ,且均勻分佈。此方法使用更有效率的演算法,使其更快且更能保留隨機性。
為什麼要使用 Random.nextInt() 來擲骰子?
用於擲骰子, Random.nextInt() 可以說更好,因為:
其他注意事項
如連結中的Sun 論壇貼文所指出的回應:
以上是Math.random() 與 Random.nextInt():什麼時候應該使用它們來產生隨機數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!