《java入门第一季》之Random类和获取随机数案例
/*
* 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); }