本帖最后由 caolufo 于 2016-7-30 21:48 编辑
new Random(1000) 是根据种子数1000计算生成出一个随机数列表(元素有固定顺序)。
1、同一个 Random对象多次调用next()方法,会按照这个顺序随机表依次产生数据。(程序每运行一次next,向后取一个随机数)例一:public class Test {
public static void main(String[] args) {
Random r = new Random(1000);
for (int i = 1; i <11; i++) {
System.out.print(r.nextInt(100)+" ");
}
}
}
当i分别修改为11,16,21,26,31时,每次重新运行程序结果如下:
(只生成10个随机数:i<11) 87 35 76 24 92 49 41 45 64 50
(只生成15个随机数:i<16) 87 35 76 24 92 49 41 45 64 50 79 59 72 83 36
(只生成20个随机数:i<21) 87 35 76 24 92 49 41 45 64 50 79 59 72 83 36 75 46 2 23 41
(只生成25个随机数:i<11) 87 35 76 24 92 49 41 45 64 50 79 59 72 83 36 75 46 2 23 41 22 71 89 2 93
2、不 同 Random对象调用next()方法,相同调用next()方法次数得出的随机数是相同的。(要保证2个next()的参数相同)例二: public class Test {
public static void main(String[] args) {
Random r1 = new Random(1000);
Random r2 = new Random(1000);
System.out.println("r1"+" "+"r2");
for (int i = 1; i <10; i++) {
System.out.println(r1.nextInt(100)+" "+r2.nextInt(100));
}
}
}
结果:r1 r2
87 87
35 35
76 76
24 24
92 92
49 49
41 41
45 45
64 64
3、 r.nextInt() 不带参数 和 带参数生成的随机数列表是不同的。
|