/*
* Random:产生随机数的类
*
* 构造方法:
* public Random():没有给种子,用的是默认种子,是当前时间的毫秒值下的随机数,所以会一直变化
* public Random(long seed):给出指定的种子 long seed就是一个long类型的数据而已
输出结果:
* Random:产生随机数的类
*
* 构造方法:
* public Random():没有给种子,用的是默认种子,是当前时间的毫秒值下的随机数,所以会一直变化
* public Random(long seed):给出指定的种子 long seed就是一个long类型的数据而已
* 给定种子后,每次得到的随机数是(相同的)。再次编译执行后的数据不变了。
* 种子是什么,又怎么变与不变?根据例子说明。
*/
public class RandomDemo {
public static void main(String[] args) {
// 创建对象
Random r1 = new Random();//没给种子
Random r = new Random(111);//long 给的种子不同
//随机获取10个1-100的随机数
for (int x = 0; x < 10; x++) {
// int num = r.nextInt();
int num = r.nextInt(100) + 1;
System.out.println(num);
}
System.out.println("--------------------------");
for(int x = 0; x < 10; x++){
int num = r1.nextInt(100) + 1;
System.out.println(num);
}
}
}
输出结果:
294
971
958
698
410
921
285
613
598
966
--------------------------
857
683
744
768
282
613
23
743
763
414
再一次编译输出结果:
294
971
958
698
410
921
285
613
598
966
--------------------------
751
924
654
376
20
95
563
576
43
108
这个时候什么是种子,什么是不变与变化的区别一目了然了吧。
同时,利用Random获取1-100的另一种方式也已经完成了。即上面的几行代码:
for (int x = 0; x < 10; x++) {
// int num = r.nextInt();
int num = r.nextInt(100) + 1;
System.out.println(num);
}