第一种情况
Random rand = new Random(47);
for(int i=0;i<10;i++)
System.out.println(rand.nextInt(100));
第二种情况
Random rand = new Random();
for(int i=0;i<10;i++)
System.out.println(rand.nextInt(100));
查看源码就会发现Random.class中实现了这两种方法,第一种方法是初始化了一个生成随机数的种子,这样,不论执行多少遍第一种情况,每一遍生成的10个随机数相同 ,每次都是生成这10个数。所以说随机数也是按照某种算法进行的,只要给一个初始值,同一台机器上每次都是相同的结果。
第二种情况时随机种子,每次种子不一样,这样生成的结果也就不一样,所以第二种情况生成的随机数就不会有限定了。
至于nextInt(100)这个100表示生成随机数的范围是[0,100).
Math.random()该方法的作用是产生[0,1)中一个double值