一
、利用
random 方法来生成随机数。
在
Java 语言中生成随机数相对来说比较简单,因为有一个现成的方法可以使用。在
Math 类中,Java 语言提供了一个叫做 random 的方法。通过这个方法可以让系统产生随机
数。不过默认情况下,其产生的随机数范围比较小,为大于等于
0 到小于 1 的 double 型随
机数。虽然其随机数产生的范围比较小,不能够满足日常的需求。如日常工作中可能需要产
生整数的随机数。其实,只要对这个方法进行一些灵活的处理,就可以获取任意范围的随机
数。
如我们可以先通过
random 方法生成一个随机数,然后将结果乘以 10。此时产生的随
机数字即为大于等于
0 小于 10 的数字。然后再利用 Int 方法进行转换
(它会去掉小数掉后面
的数字,即只获取整数部分,不是四舍五入
)。
最后即可获取一个
0 到 9 的整数型随机数字。
其 实 现 方 法 很 简 单 , 就 是 对 原 有 的
random 方 法 按 照 如 下 的 格 式 进 行 变 型 : (int)
(Math.Random()*10)即可。其实我们还可以对这个方法进行扩展,让其产生任意范围内的
随机数。至需要将这个
10 换成 n 即可,如改为(int)(Math.Random()*n)。此时应用程序就会
产生一个大于等于
0 小与 n 之间的随机数。如将 n 设置为 5,那么其就会产生一个 0 到 5 之
间的整数型的随机数。如果将这个写成一个带参数的方法,那么只要用户输入需要生成随机
数的最大值,就可以让这个方法来生成制定范围的随机数。在
Java 中定义自己的工具库
有时候程序员可能需要生成一个指定范围内的随机偶数或者奇数。此时是否可以通过这
个方法来实现呢
?答案是肯定的。如现在程序要需要生成一个 1-100 范围内的偶数。此时该如
何实现
?首先,需要生成一个 0 到 99 之内的随机数(至于这里为什么是 99,大家耐心看下
去就知道原因了
)。要实现这个需求,很简单吧,只要通过如下语句就可以实现: i=1+(int)
(Math.Random()*100)。其中(int)(Math.Random()*99)产生 0 到 99 的整数型随机数。然后再
加上
1 就是产生 1 到 100 之间的随机整数。然后将产生的随机数赋值给变量 i。但是此时其产
生的随机数即有偶数,又有奇数。而现在程序员需要的是一个随机的偶数。那么我们可以在
后面加上一个
if 判断语句。将这个随机数除以 2,如果没有余数的话(或者余数为 0)则表明
这个随机数是偶数,直接返回即可。如果其返回的余数不为零,那么就表明其是奇数,我们
只要加上
1 就变为了偶数,返回即可。注意,在上面的随机数生成中,笔者采用的范围是 0
到
99,然后再加上 1 让其变为 1 到 100 的随机数。最后的结果就是生成 1 到 100 之间的随
机偶数。其实,如果要范围随机奇数的话,至需要对上面的语句进行稍微的修改即可。
Java:
改变你我的世界
假设现在用户想生成一个任意范围内的奇数或者偶数,能够实现吗
?假设现在用户想
实现一个
m 到 n 之间的任意偶数
要产生
X 到 Y 的随机数
先产生的
0 到 Y-X 随机数
然后加上
X
可见虽然
random 方法其自身产生的随机数有比较严格的范围限制。但是只要对其进行
合理的转换,程序员仍然可以采用这个方法产生用户所需要的随机数据。
二、通过
Random 类来生成随机数。
在
Java 语言中,除了可以通过 random 方法来产生随机数之外,还可以通过一个