產生指定範圍內的隨機雙精度數
在程式設計中,經常需要產生指定範圍內的隨機值。這通常是使用傳回 0 到 1 之間的值的隨機數產生器來實現的。但是,如果您有特定的最小值和最大值,則可能需要相應地調整輸出。
考慮以下情況:您有兩個雙精度值,最小值和最大值,並且您想要在這兩個值之間產生一個隨機雙精度值。以下程式碼僅產生 0 到 1 之間的隨機雙精度數:
Random r = new Random(); r.nextDouble();
要指定範圍,需要執行一些額外的計算:
Random r = new Random(); double rangeMin = 100; double rangeMax = 101; double randomValue = rangeMin (rangeMax - rangeMin) * r.nextDouble();
此程式碼的工作原理如下:
此計算有效地將生成值的範圍移動到在規定的範圍內。因此,randomValue 將是 rangeMin 和 rangeMax 之間的隨機雙精確值。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3