java中产生随机数有哪几种方式?怎么得到它?

BSO 2020-09-16 08:51:27 java常见问答 5290

在我们的日常学习与生活中,java编程语言的应用渗透的很深,对我们益处颇大。今天就来为大家介绍一些java的基础知识,java中产生随机数有哪几种方式以及怎么得到它,一起来看看吧。

一、java产生随机数的几种方式

1.在j2se里可以使用Math.random()方法来产生一个随机数,所产生的随机数是0-1之间的一个double,可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机数,这个在j2me中没有。

2.在java.util这个包里面提供了一个Random的类,可以新建一个Random的对象来产生随机数,从而可以产生随机整数、随机float、随机double,随机long,这种方法也是在j2me的程序里经常使用的一种取随机数的方法。

3.在System类中有一个currentTimeMillis()方法,这个方法返回一个从1970年1月1号0点0分0秒到目前的一个毫秒数,返回类型是long,可以将它作为一个随机数,用它对一些数取模,然后就可以把他限制在一个范围之内。

其实在Random的默认构造方法里也是使用上面第三种方法进行随机数的产生的。

二、得到随机数方法的实例展示

方式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);
}

1.通过java.util包中的Random类的nextInt方法来得到1-10的int随机数

2.生成0到1之间的任意随机小数;

3.生成[0,d)区间的随机小数,d为任意正的小数,则只需要将nextDouble方法的返回值乘以d即可。[n1,n2]

4.也就是ra.nextDouble() *(n2-n1)+n1

以上就是关于java中产生随机数有哪几种方式以及怎么得到它的详细解析。如果你对java知识感兴趣,想要了解更多java基础以及常见问题,敬请关注奇Q工具网。

推荐阅读:

java中CountIf、Lookup、随机数函数和公式返回值,实例展示

java中随机数与大数字运算的内容,图片详解

java随机数范围,如何获取指定范围的随机数?