Java Random 類



介紹

Java Random 類例項用於生成偽隨機數流。以下是關於 Random 的重要要點:

  • 該類使用 48 位種子,使用線性同餘公式進行修改。

  • Random 類實現的演算法使用一個受保護的實用程式方法,每次呼叫最多可以提供 32 個偽隨機生成的位。

類宣告

以下是java.util.Random 類的宣告:

public class Random
   extends Object
   implements Serializable

類建構函式

序號 建構函式和描述
1

Random()

這將建立一個新的隨機數生成器。

2

Random(long seed)

這將使用單個長整型種子建立一個新的隨機數生成器。

類方法

序號 方法和描述
1 DoubleStream doubles()

返回一個實際上無限的偽隨機雙精度數值流,每個值都在零(包含)和一(不包含)之間。

2 IntStream ints()

返回一個實際上無限的偽隨機整數值流。

3 LongStream longs()

返回一個實際上無限的偽隨機長整數值流。

4 boolean nextBoolean()

此方法從該隨機數生成器的序列中返回下一個偽隨機、均勻分佈的布林值。

5 void nextBytes(byte[] bytes)

此方法生成隨機位元組並將它們放入使用者提供的位元組陣列中。

6 double nextDouble()

此方法從該隨機數生成器的序列中返回下一個偽隨機、均勻分佈的雙精度值,介於 0.0 和 1.0 之間。

7 float nextFloat()

此方法從該隨機數生成器的序列中返回下一個偽隨機、均勻分佈的浮點值,介於 0.0 和 1.0 之間。

8 double nextGaussian()

此方法從該隨機數生成器的序列中返回下一個偽隨機、高斯(“正態”)分佈的雙精度值,均值為 0.0,標準差為 1.0。

9 int nextInt()

此方法從該隨機數生成器的序列中返回下一個偽隨機、均勻分佈的整數值。

10 long nextLong()

此方法從該隨機數生成器的序列中返回下一個偽隨機、均勻分佈的長整數值。

11 void setSeed(long seed)

此方法使用單個長整型種子設定此隨機數生成器的種子。

繼承的方法

此類繼承自以下類的方法:

  • java.util.Object

獲取隨機雙精度數示例

以下示例顯示了 Java Random doubles() 方法的用法。首先,我們建立了一個 Random 物件,然後使用 doubles() 獲取隨機雙精度值的流並列印第一個值。

package com.tutorialspoint;

import java.util.Random;
import java.util.stream.DoubleStream;

public class RandomDemo {
   public static void main( String args[] ) {

      // create random object
      DoubleStream randomNoStream = new Random().doubles();
      // print a random double value
      randomNoStream.limit(1).forEach( i -> System.out.println(i));
   }    
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果。

0.5129590222446587
廣告