java实现随机数,java如何产生不同的随机数
在java中有三种主要的方法来生成随机数:
1、新随机()
Math.random()
3、currentTimeMillis()
第一种需要借助java.util.Random类生成随机数生成器,也是最常用的一种。有两个构造函数,random()和Random(长种子)。第一种是使用当前时间作为默认种子,第二种是使用指定的种子值。生成后,不同类型的数字由不同的语句生成。
(相关视频教程分享:java视频教程)
种子是随机数的第一个使用值。其机理是,种子的值通过函数转换成随机数空间中的一个点,生成的随机数均匀地分散在空间中。所有后续随机数都与之前的随机数相关。
例如:
公共静态void main(String[] args)
{
Random r=new Random(1);
for(int I=0;i5;我)
{
int ran 1=r . nextint(100);
system . out . println(ran 1);
}
}我编译器下生成的五个数都是85,88,47,13,54。如果采用Random r=new Random(),那么产生的随机数是不一样的,这是确定种子的结果。
第二个方法返回的值是一个双精度值[0.0,1.0]。因为双类数的精度很高,在一定程度上可以看作是一个随机数。整数随机数可以用(int)进行类型转换得到。
例如:
公共静态void main(String[] args)2 {
int max=100,min=1;
int ran 2=(int)(math . random()*(max-min)min);
system . out . println(ran 2);6}第三种方法虽然不常用,但也是一种思路。方法返回一个long类型的从1970年1月1日0: 00: 00(这个和UNIX系统有关)到现在的毫秒数,取模后可以得到所需范围内的随机数。
例如:
公共静态void main(String[] args)
{
int max=100,min=1;
long random num=system . current time millis();
int ran 3=(int)(random num %(max-min)min);
system . out . println(ran 3);
}分享相关文章和教程:java入门教程以上是java中生成不同随机数的三种方法的详细介绍。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。