JAVA Random随机数发生器在创建时有两种方法:
- 不指定随机数的构造方法Random()。
- 指定随机数的构造方法Random(seed)。
在第一种情况下:
import java.util.Random;
public class test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Random ra = new Random();
System.out.println(ra.nextInt(10));
}
}
运行三次
产生的结果分别是2,2,8。说明Random在每次运行过程中都会赋可能相同也可能不同随机种子值。
import java.util.Random;
public class test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Random ra = new Random(10);
System.out.println(ra.nextInt(10));
}
}
运行三次产生的结果分别为3,3,3。说明在设置相同的随机种子值的情况下,产生的随机数是相同的。因为Random类采用的是线性同余算法产生随机数,当确定唯一的种子时,会产生唯一的随机数。
为了产生不同的随机数可以将随机种子改为系统时间,程序如下:
import java.util.Random;
public class test {
public static void main(String