万水千山走过

导航

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           }

  

posted on 2020-02-18 17:56  万水千山走过  阅读(504)  评论(0编辑  收藏  举报