java 产生随机数的两种方法

一、利用Math.random()方法。

需要生成一个0到99之内的随机数,通过如下语句就可以实现:

i=1+(int)(Math.Random()*100)。

其中(int)(Math.Random()*99)产生0到99的整数型随机数。然后再加上1就是产生1到100之间的随机整数。

(int)(Math.random()*10) 返回0到9的随机整数。 
(int)(Math.random()*n) 返回0到n的随机整数。 
(int)(Math.random()*100)+1 返回1到100之间的随机整数,前面返回0到99之间的随机数,加1就成了1到100之间的随机数。

二、通过Random类来生成随机数。

Random i=new Random()。通过这条语句就利用了Random类创建了一个随机数的生成器。

必须先创建一个对象。也就是说利用Randow类来创建对象。

Java.util.Random类的方法:

  1. protected int next(int bits):生成下一个伪随机数。
  2. boolean nextBoolean():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的boolean值。
  3. void nextBytes(byte[] bytes):生成随机字节并将其置于用户提供的 byte 数组中。
  4. double nextDouble():返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的 double值。
  5. float nextFloat():返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布float值。
  6. double nextGaussian():返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的double值,其平均值是0.0标准差是1.0。
  7. int nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
  8. int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的、在(包括和指定值(不包括)之间均匀分布的int值。
  9. long nextLong():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。

     10.void setSeed(long seed):使用单个 long 种子设置此随机数生成器的种子。 

方法1 (数据类型)
 (最小值+Math.random()*(最大值-最小值+1))
 例:
  (int)(1+Math.random()*(10-1+1)) //从1到10的int型随数

 方法2 获得随机数
  for (int i=0;i<30;i++)
 {
System.out.println((int)(1+Math.random()*10));
 }
 (int)(1+Math.random()*10) 
 //通过java.Math包的random方法得到1-10的int随机数 
 //公式是:最小值---最大值(整数)的随机数 类型)最小值+Math.random()*最大值
 
 方法3 Random ra =new Random(); 
 for (int i=0;i<30;i++)
{System.out.println(ra.nextInt(10)+1);} 
 通过java.util包中的Random类的nextInt方法来得到1-10的int随机数

参考:https://blog.csdn.net/YTTmiao/article/details/78187448

           https://www.cnblogs.com/weiwenxin01/p/5479260.html

猜你喜欢

转载自blog.csdn.net/qq_40629792/article/details/85259408