java中random类的指定数值使用(Java生成随机数(random()和Random类))
在 Java 中要生成一个指定范围之内的随机数字有两种方法:一种是调用 Math 类的 random() 方法,一种是使用 Random 类。
Random 类提供了丰富的随机数生成方法,可以产生 boolean、int、long、float、byte 数组以及 double 类型的随机数,这是它与 random() 方法最大的不同之处。random() 方法只能产生 double 类型的 0~1 的随机数。
Random 类位于 java.util 包中,该类常用的有如下两个构造方法。
- Random():该构造方法使用一个和当前系统时间对应的数字作为种子数,然后使用这个种子数构造 Random 对象。
- Random(long seed):使用单个 long 类型的参数创建一个新的随机数生成器。
Random 类提供的所有方法生成的随机数字都是均匀分布的,也就是说区间内部的数字生成的概率是均等的,在表 1 中列出了 Random 类中常用的方法。
表 1 Random 类的常用方法
方法 | 说明 |
boolean nextBoolean() | 生成一个随机的 boolean 值,生成 true 和 false 的值概率相等 |
double nextDouble() | 生成一个随机的 double 值,数值介于 [0,1.0),含 0 而不包含 1.0 |
int nextlnt() | 生成一个随机的 int 值,该值介于 int 的区间,也就是 -231~231-1。如果 需要生成指定区间的 int 值,则需要进行一定的数学变换 |
int nextlnt(int n) | 生成一个随机的 int 值,该值介于 [0,n),包含 0 而不包含 n。如果想生成 指定区间的 int 值,也需要进行一定的数学变换 |
void setSeed(long seed) | 重新设置 Random 对象中的种子数。设置完种子数以后的 Random 对象 和相同种子数使用 new 关键字创建出的 Random 对象相同 |
long nextLong() | 返回一个随机长整型数字 |
boolean nextBoolean() | 返回一个随机布尔型值 |
float nextFloat() | 返回一个随机浮点型数字 |
double nextDouble() | 返回一个随机双精度值 |
下面编写一个 Java 程序,演示如何使用 Random 类提供的方法来生成随机数。具体代码如下:本实例每次运行时结果都不相同,这就实现了随机产生数据的功能。该程序的运行结果如下:
生成的[0,1.0]区间的小数是:0.8773165855918825
生成的[0,7.0]区间的小数是:6.407083074782282
生成的[0,10]区间的整数是:5
生成的[-3,15]区间的整数是:4
生成一个随机长整型值:-8462847591661221914
生成一个随机布尔型值:false
生成一个随机浮点型值:0.6397003
下期七星彩开奖号码预测:0227168
例 2Math 类的 random() 方法没有参数,它默认会返回大于等于 0.0、小于 1.0 的 double 类型随机数,即 0<=随机数<1.0。对 random() 方法返回的数字稍加处理,即可实现产生任意范围随机数的功能。
下面使用 random() 方法实现随机生成一个 2~100 偶数的功能。具体代码如下:由于 m (int)(Math.random()*n) 语句可以获取 m~m n 的随机数,所以 2 (int)(Math. random()*(102-2)) 表达式可以求出 2~100 的随机数。在产生这个区间的随机数后还需要判断是否为偶数,这里使用了对 2 取余数,如果余数不是零,说明随机数是奇数,此时将随机数加 1 后再输出。
该程序的运行结果如下:
随机数是:20
需要源码数据库的评论区“888”领取。
,- ph试纸测未知溶液的酸碱度(2020中考二轮复习真题专题02走进化学实验室(答案版))
- 怎么克服考试紧张的情绪(大脑一片空白怎么办)
- 马桶气溶胶传播是什么意思(气溶胶会到我家吗)
- 苹果手机怎么拍快手视频清晰(怎样选择拍摄器材才能更方便都在这)
- 笔记本连接无线慢怎么处理(教你怎么解决)
- 二胡选什么品牌好(买什么品牌更好)
- 峨眉山景区旅游攻略最佳线路(这个季节去刚刚好)
- 椒盐皮皮虾简单做法步骤(椒盐皮皮虾的做法)
- 萱字取名的含义女孩(300个甜美可人、带有“公主范”的名字)
- 牙龈出血是什么原因引起的怎么治(大多与这5大因素有关)
- 灵芝正确的保存方法(做好这两点就可以放心储备了)
- 如何让一个微信号被封(如果出现以下6种行为)
- 苹果手机快手拍摄技巧(让你的iPhone拍出更美的视频)
- 王者荣耀刘邦教学最强铭文(瞬间移动)
- 无法预估标书厚度怎么贴封条(3种制作方法分享)
- 联盟巨龙之爪怎么合成(巨龙之爪合成公式分享)
- 华为畅玩5x手机卡怎么安装(荣耀5X卡槽怎么打开)
- 土豆丝怎么炒会不粘锅(直接下锅炒是大错)