欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java 产生随机数的两种方法

程序员文章站 2022-05-19 22:08:59
...

一、利用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