随机数的产生 java 实训笔记day1

java有三种随机数的生成方式:

第一种:new Random

第二种:  Math.random()

第三种: currentTimeMillis()

第一种需要借助java.util.Random类来产生一个随机数发生器,也是最常用的,构造函数有两个,Random()和Random(long seed)。第一个就是以当前时间为默认种子,第二个是是以指定的种子值进行。产生之后,借助不同的语句产生不同类型的数。

种子就是产生随机数的第一次使用值。机制是通过一个函数,将这个种子的值转化为随机数空间中的某一个点上,并且产生的随机数均匀的散步在空间中。以后产生的随机数都与前一个数有关。以代码为例:

  public static void main(String[] args){

    Random r = new Random(1);

    for(int i=0;i<5;i++)

      {

        int ran1 = r.nextInt(100);

        System.out.println(ran1);

       }

}

Random类是java.util包中的一个类,专门用来产生各种类型的随机数;

使用该类必须先生成对象,再调用它的方法,Random类中所包含方法大致如下:

方法  说明
boolean nextBoolean()  生成一个随机的 boolean 值,生成 true 和 false 的值概率相等
double nextDouble()  生成一个随机的 double 值,数值介于[0,1.0),含 0 而不包含 1.0
int nextlnt()  生成一个随机的 int 值,该值介于 int 的区间,也就是 -231~231-1。如果 需要生成指定区间的 int 值,则需要进行一定的数学变换
int nextlnt(int n)  生成一个随机的 int 值,该值介于 [0,n),包含 0 而不包含 n。如果想生成 指定区间的 int 值,也需要进行一定的数学变换
void setSeed(long seed)  重新设置 Random 对象中的种子数。设置完种子数以后的 Random 对象 和相同种子数使用 new 关键字创建出的 Random 对象相同
long nextLong()  返回一个随机长整型数字
boolean nextBoolean()  返回一个随机布尔型值
float nextFloat()  返回一个随机浮点型数字
double nextDouble()  返回一个随机双精度值

 

posted @ 2020-06-03 13:52  啵啵啵都有人在使用吗  阅读(127)  评论(0编辑  收藏  举报