Random类的使用

本文深入解析Java中的Random类,探讨其使用48位种子和线性同余公式的原理,生成伪随机数流。介绍了Random类的构造方法及如何通过不同种子创建实例,确保在相同种子下生成相同的随机数序列。同时,文章提供了产生随机数、修改种子等常见操作的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此类的实例用于生成伪随机数流。此类使用 48 位的种子,使用线性同余公式 (linear congruential form) 对
其进行了修改所得。
如果用相同的种子创建两个Random实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同
的数字序列。
Random类中的构造方法:
方法名 描述
Random()
创建一个新的随机数生成器。此构造方法将随机数生成器的种子设置为某个值,该值与此
构造方法的所有其他调用所用的值完全不同。
Random(long
seed)
使用单个 long 种子创建一个新的随机数生成器。该种子是伪随机数生成器的内部状态的
初始值.
3.幂运算
4.平方根、立方根
5.四舍五入
6.随机数
1.5 Random类
此类的实例用于生成伪随机数流。此类使用 48 位的种子,使用线性同余公式 (linear congruential form) 对
其进行了修改所得。
如果用相同的种子创建两个Random实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同
的数字序列。
Random类中的构造方法:
注意:若long种子确定,则在不同程序中,相同次数产生的随机数是相同的。
Random类中的常用方法:
1.产生随机数

Random random = new Random(10);//以10为种子,使用线性同余公式产生伪随机数
int i1 = random.nextInt();//产生一个随机整数
int i2 = random.nextInt(10);//产生一个10以内的随机整数
double d = random.nextDouble();//产生一个随机double值
boolean b = random.nextBoolean();//产生一个随机boolean值

2.修改种子

Random random = new Random(10);
random.setSeed(20);//将随机数种子设置为20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值