簡體   English   中英

創建 Random 類的對象或使用 Math.random() 以生成隨機數

[英]Creating an object of Random class or using Math.random() in order to generate random numbers

導入 java.util.Random 后,您可以通過兩種方式生成隨機整數和隨機雙精度數。

您可以創建 Random 類的實例

Random randomGenerator = new Random();

然后用它生成一個大於或等於0但小於10的隨機整數或雙精度數

int randomInteger = randomGenerator.nextInt(10);
double randomDouble = randomGenerator.nextDouble(10);

你也可以使用 Math.random()

int randomInteger = (int)(Math.random() * 10)
double randomDouble = Math.random() * 10

我認為這兩種方法都給出了完全相同的結果。 這兩種方法中的一種是否比另一種更受歡迎?

Math.random() 使用 Random 類。 它基本上是在 Math 類的 Random 對象上調用 nextDouble() 。

然而,第一種方法肯定更容易理解和使用。 並且有比 Math 類更多的選擇。 因此,如果您需要大量隨機數或者需要雙精度以外的類型,我會選擇 Random 類。 當您只需要 0 和 1 之間的雙精度值時,我會使用 Math.random()。

所以基本上方法的工作方式沒有區別,它們都使用 Random 類。 因此,您使用的兩者中的哪一個取決於我上面所說的情況。

從關於隨機方法的 Math 類的 javadoc :

當這個方法第一次被調用時,它會創建一個新的偽隨機數生成器,就像表達式一樣

新的 java.util.Random()

鏈接到 Math.random() 上的 javadoc 頁面: https : //docs.oracle.com/javase/7/docs/api/java/lang/Math.html#random()

我希望這有幫助 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM