Java Random类:生成随机数(附带实例)
java.util.Random 类用于生成随机数,由随机算法通过一个种子(seed)产生伪随机数。由于 f(x)→y,这意味着如果知道了种子,就可能获得接下来的随机数序列的信息,即存在可预测性,所以也称 Random 产生的结果为伪随机数。
任何通过算法获得的随机数都称为伪随机数,只有通过真实随机事件产生的数才叫随机数,如放射性衰变、大气噪声等。
Random 类提供两个构造方法,用于创建 Random 对象,如下表所示:
【实例】使用 Random 类生成随机数,代码如下:
由此可见,相同种子数产生的随机数相同。Random 类常用方法,如下表所示。
任何通过算法获得的随机数都称为伪随机数,只有通过真实随机事件产生的数才叫随机数,如放射性衰变、大气噪声等。
Random 类提供两个构造方法,用于创建 Random 对象,如下表所示:
| 构造方法 | 作用 |
|---|---|
| Random() | 以当前时间毫秒值为种子,创建 Random 对象 |
| Random(long seed) | 以指定种子创建 Random 对象 |
【实例】使用 Random 类生成随机数,代码如下:
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
Random r1 = new Random(); // 以系统自身时间为种子数
int randomInt1 = r1.nextInt(); // 生成随机整数
System.out.println("randomInt1 = " + randomInt1); // 923206161
Random r2 = new Random(3); // 自定义种子数
Random r3 = new Random(3);
int randomInt2 = r2.nextInt();
int randomInt3 = r3.nextInt();
System.out.println("randomInt2 = " + randomInt2); // -1155099828
System.out.println("randomInt3 = " + randomInt3); // -1155099828
}
}
在上述代码中,我们可以看出随机类调用 nextInt() 方法,直接产生随机整数。由此可见,相同种子数产生的随机数相同。Random 类常用方法,如下表所示。
| 方法 | 释义 |
|---|---|
| nextInt() | 产生随机整数 |
| nextLong() | 产生随机长整数 |
| nextFloat() | 产生随机 float 小数,范围是[0,1] |
| nextDouble() | 产生随机 double 小数,范围是[0,1] |
| nextBoolean() | 产生随机布尔值,true 或 false |
ICP备案:
公安联网备案: