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
广告