java中随机数的产生的两种方法。
方法一:
java.lang包中的Math类中的静态方法。public static double random(),返回一个double值为正号。
1 //打印一个随机数[0,10] 2 int a = (int) (Math.random()*11); 3 System.out.println(a+" "); 4 //打印10个[10,100]随机数 5 int[] b = new int[10]; 6 for(int i = 0; i < 10;i++ ) 7 { 8 b[i] = (int) (Math.random()*91+10); 9 System.out.print(b[i]+" "); 10 }
结论:1.此方法产生一个double类型的随机数,范围为[0.0,1.0)。
2.可以通过强制转换变成一个int类型的值。
3.可以通过对random()方法的变形求的目标区域数值。
4.得到[m,n]区间范围随机数。int a = (int ) (Math.random()*(n-m+1)+m) 。
方法二:
java.util中的Random类。
*使用前必须需要自己创建一个实例,然后调用方法。
介绍三种方法:
1.nextInt()方法。返回下一个伪随机数,从这个随机数生成器的序列中均匀分布int值(int类型的范围)。
2.nextInt(int bound)方法。返回一个[0,bound)范围的数。也可以产生特定范围[m,n]的随机值 random.next(n-m+1)+m
3.nextDouble()。产生一个double类型的随机数,范围为[0.0,1.0)。(和Math.random()方法一样)。
1 Random random = new Random(); 2 //产生1个[0,10)范围的整数 3 int c = random.nextInt(10); 4 System.out.println(c+" "); 5 //打印10个[10,100]随机数 6 int [] d = new int[10]; 7 for(int i = 0;i < 10;i++) 8 { 9 d[i] = random.nextInt(91)+10; //产生[10,100]范围的整数 10 System.out.print(d[i]+" "); 11 }