background image

、利用

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 之间的任意偶数

要产生

到 的随机数 

先产生的

到 Y-X 随机数 

然后加上

X

  可见虽然

random 方法其自身产生的随机数有比较严格的范围限制。但是只要对其进行

合理的转换,程序员仍然可以采用这个方法产生用户所需要的随机数据。
  二、通过

Random 类来生成随机数。

  在

Java 语言中,除了可以通过 random  方法来产生随机数之外,还可以通过一个