Java随机数Random类

除了Math类中的random()方法可以获取随机数之外,Java中还提供 了一种可以获取随机数的方式,那就是java.util.Random类。通过实例化 一个Random对象可以创建一个随机数生成器。语法如下:

Random r=new Random();

其中,r是指Random对象。

以这种方式实例化对象时,Java编译器将以系统当前时间作为随机 数生成器的种子。因为每时每刻的时间不可能相同,所以产生的随机数 不同。但是如果运行速度太快,也会产生两次运行结果相同的随机数。

用户也可以在实例化Random类对象时,设置随机数生成器的种子。语法如下:

Random r=new Random(seedValue);
  • r:Random类对象。
  • seedValue:随机数生成器的种子。

在Random类中提供了获取各种数据类型随机数的方法,下面列举 几个常用的方法。

  • public int nextInt():返回一个随机整数。
  • public int nextInt(int n):返回大于等于0且小于n的随机整数。
  • public long nextLong():返回一个随机长整型值。
  • public boolean nextBoolean():返回一个随机布尔型值。
  • public float nextFloat():返回一个随机浮点型值。
  • public double nextDouble():返回一个随机双精度型值。
  • public double nextGaussian():返回一个概率密度为高斯分布的双 精度值。

【例】在项目中创建RandomDemo类,在类的主方法中创建 Random类的对象,使用该对象生成各种类型的随机数,并输出结果。

import java.util.*;

public class RandomDemo {
	public static void main(String[] args) {
		Random r = new Random(); // 实例化一个Random类
		// 随机产生一个整数
		System.out.println("随机产生一个整数:" + r.nextInt());
		// 随机产生一个大于等于0小于10的整数
		System.out.println("随机产生一个大于等于0小于10的整数:" + r.nextInt(10));
		// 随机产生一个布尔型的值
		System.out.println("随机产生一个布尔型的值:" + r.nextBoolean());
		// 随机产生一个双精度型的值
		System.out.println("随机产生一个双精度型的值:" + r.nextDouble());
		// 随机产生一个浮点型的值
		System.out.println("随机产生一个浮点型的值:" + r.nextFloat());
		// 随机产生一个概率密度为高斯分布的双精度值
		System.out.println("随机产生一个概率密度为高斯分布的双精度值:"
				+ r.nextGaussian());
	}
}
使用Random类中的方法产生随机数
使用Random类中的方法产生随机数

发表评论