java随机数

java随机数


2024年4月26日发(作者:)

Random类

在实际的项目开发过程中,经常需要产生一些随机数值,例如网站登录中的校验数字等,

或者需要以一定的几率实现某种效果,例如游戏程序中的物品掉落等。

在Java API中,在包中专门提供了一个和随机处理有关的类,这个类就是

Random类。随机数字的生成相关的方法都包含在该类的内部。

Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算

法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随

机数字。

相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个

种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完

全相同。这点在生成多个随机数字时需要特别注意。

下面介绍一下Random类的使用,以及如何生成指定区间的随机数组以及实现程序中要

求的几率。

1、Random对象的生成

Random类包含两个构造方法,下面依次进行介绍:

a、public Random()

该构造方法使用一个和当前系统时间对应的相对时间有关的数字作为种子数,然后使用

这个种子数构造Random对象。

b、public Random(long seed)

该构造方法可以通过制定一个种子数进行创建。

示例代码:

Random r = new Random();

Random r1 = new Random(10);

再次强调:种子数只是随机算法的起源数字,和生成的随机数字的区间无关。

2、Random类中的常用方法

Random类中的方法比较简单,每个方法的功能也很容易理解。需要说明的是,Random

类中各方法生成的随机数字都是均匀分布的,也就是说区间内部的数字生成的几率是均等

的。下面对这些方法做一下基本的介绍:

a、public boolean nextBoolean()

该方法的作用是生成一个随机的boolean值,生成true和false的值几率相等,也就是

都是50%的几率。

b、public double nextDouble()

该方法的作用是生成一个随机的double值,数值介于[0,1.0)之间,这里中括号代表

包含区间端点,小括号代表不包含区间端点,也就是0到1之间的随机小数,包含0而不包

含1.0.

c、public int nextInt()

该方法的作用是生成一个随机的int值,该值介于int的区间,也就是-231到231-1之间。

如果需要生成指定区间的int值,则需要进行一定的数学变换,具体可以参看下面的使

用示例中的代码。

d、public int nextInt(int n)

该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的

随机int值,包含0而不包含n.

如果想生成指定区间的int值,也需要进行一定的数学变换,具体可以参看下面的使用

示例中的代码。

e、public void setSeed(long seed)

该方法的作用是重新设置Random对象中的种子数。设置完种子数以后的Random对象

和相同种子数使用new关键字创建出的Random对象相同。

3、Random类使用示例

使用Random类,一般是生成指定区间的随机数字,下面就一一介绍如何生成对应区间

的随机数字。以下生成随机数的代码均使用以下Random对象r进行生成:

Random r = new Random();

a、生成[0,1.0)区间的小数


发布者:admin,转转请注明出处:http://www.yc00.com/web/1714145364a2390219.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信