《Oracle Java SE编程指南》19-05:随机处理

2020-05-01  本文已影响0人  AT阿宝哥
课程封面-JavaSE-AT阿宝哥

内容导航


前言

在设计算法时,我们常常可能需要使用一些随机数。比如扫雷游戏中地雷的位置,抽奖程序中的随机奖品,彩票中奖数字。

本节学习Java语言中对随机处理的支持。


1、Random类

Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。

相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。这点在生成多个随机数字时需要特别注意。


2、Random类的构造方法


3、Random类的方法

4、示例

相同种子数的Random对象,相同次数生成的随机数字是完全相同的,下面是测试的代码:

示例代码:



运行结果:



在该代码中,对象r1和r2使用的种子数都是10,则这两个对象相同次数生成的随机数是完全相同的。


5、与Math类中的random方法比较

在Math类中也有一个random方法,该random方法的工作是生成一个[0,1.0)区间的随机小数。

Math类中的random方法就是直接调用Random类中的nextDouble方法实现的。

random方法的调用比较简单,所以很多程序员都习惯使用Math类的random方法来生成随机数字。


持续更新,欢迎留言提议!
码字很累,多点赞多赞赏!


扫描二维码,关注AT阿宝哥
上一篇 下一篇

猜你喜欢

热点阅读