首页 > 编程知识 正文

JAVA获取随机数,产生随机数java

时间:2023-05-03 14:09:08 阅读:31111 作者:2253

《Java语言程序设计》 Java随机数获取方法

在Java中,可以使用java.util.Random类来生成随机数生成器。 构造函数有两种格式:随机(和随机)长序列。 Random (是当前时间System.currentTimeMillis ) )用作生成器的种子,random (long seed )使用指定的seed作为生成器的种子。

随机数发生器(Random )对象发生后,通过调用不同的method:nextInt (、nextLong )、nextFloat (、nextDouble ) )等来获取不同类型的随机数。

1生成随机数

Random random=new Random (;

随机随机=新随机(100; //指定种子数100

random调用不同的方法来获取随机数。

如果两个Random对象使用相同的种子,并且按相同的顺序调用相同的函数,则返回值完全相同。 两个Random对象的输出完全相同,如下例所示

import java.util.*;

class TestRandom {

publicstaticvoidmain (字符串[ ] args ) {

随机随机1=新随机(100;

system.out.println (random1. nextint ();

系统. out.println (random1. next float ();

系统. out.println (random1. next boolean ();

随机随机2=新随机(100;

system.out.println (random2. nextint ();

系统. out.println (random2. next float ();

系统. out.println (random2. next boolean ();

}

}

指定2范围内的随机数

随机数控制在某个范围内,使用模量运算符%

import java.util.*;

class TestRandom {

publicstaticvoidmain (字符串[ ] args ) {

Random random=new Random (;

for(intI=0; i 10; I ) {

system.out.println (math.ABS (random.nextint () )

}

}

}

得到的随机数有正负之分,在Math.abs中将取得数据范围设为负以外

3获取指定范围内的不重复随机数

import java.util.*;

class TestRandom {

publicstaticvoidmain (字符串[ ] args ) {

int [ ] Interrent=new int [6];

int intRd=0; //保存随机数

int count=0; //记录生成的随机数的数量

int flag=0; //是否已经生成标志

wile (计数6 ) {

random RDM=new random (system.current time millis ();

intrd=math.ABS(RDM.nextint () )2 1;

for(intI=0; I

if(intret[I]==intrd ) {

flag=1;

布雷克;

}else{

flag=0;

}

}

if(flag==0) {

intRet[count]=intRd;

出局;

}

}

for(intt=0; t6; t ) {

系统. out.println (t '-' intret [ t ] );

}

}

}

介绍Java随机数系Random

Java实用程序类库中的类java.util.Random提供了一种生成各种类型的随机数的方法。 可以生成随机数,如int、long、float、double和Goussian。 这也是与java.lang.Math方法Random ()的最大区别,后者只产生双精度随机数。

类Random的方法非常简单,只有两种构造方法和六种常用方法。

构建方法:

(1)公共随机) )。

)2)公共随机(长序列)。

Java需要基值seed才能生成随机数。 在第一种方法中,缺省情况下,基值将系统时间设置为seed。

常用方法:

(1)公共同步语音设置(长序列) ) )。

该方法设置基础值seed。

)2)公共int nextint () )。

这个方法是生成整数随机数。

(3)公共长下一个) ) ) )。

该方法是生成long型随机数。

(4)公共浮动下一个浮动) ) ) )。

该方法是生成浮点型随机数。

(5)公共双下一个双) ) ) )。

此方法是生成双精度随机数。

(6) publicsynchronizeddoublenextgoussian ) )

此方法是生成双精度型的Goussian随机数。

例2 RandomApp.java。

//import java.lang.*;

import java.util.Random;

公共类随机应用程序{

publicstaticvoidmain (string args [ ] ) {

Random ran1=new Random (;

random ran2=新random (12345;

制作了两个Random类的对象。

system.out.println (the1 stsetofrandomnumbers : );

system.out.println (integer : ) ran1.nextint );

system.out.println(long: ) ran1.nextlong );

system.out.println (' float : ' ran1. next float ) );

system.out.println (双精度: ) ran1. next双精度);

system.out.println (Gaussian : ) ran1.nextGaussian );

//产生各种类型的随机数

system.out.print (the2ndsetofrandomnumbers : );

for(intI=0; i5; I ) {

system.out.println (ran2. nextint () ');

if(I==2) System.out.println );

//产生相同类型的不同随机数。

System.out.println (;

}

}

}

Random random=new Random (;

random.nextInt (;

有多种基本类型,如nextFloat

Math.random也可以

例如,假设你想要一个0到10之间的随机数

你可以这样写

(int ) ) Math.random ) *10 );

JAVA生成指定范围的随机数"

《JAVA产生指定范围的随机数》

生成机制:

生成最小-最大之间的数字

实现原理:

math.round(math.random () * ) * (最大最小(Min ) ) ) )。

龙腾; 不能设定为//int,必须设定为long

产生1000到9999的随机数

temp=math.round (math.random (* 89991000 ) );

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。