java获取指定范围的随机数

java获取指定范围的随机数,第1张

public static void main(String[] args) {      

int max=20;      

int min=10;

Random random = new Random();    

int s = randomnextInt(max)%(max-min+1) + min;

Systemoutprintln(s);

}

1此函数,生成min到max之间的随机"整数"数

2如果需要小数,建议你也以整数开始,最后再除10,或者除100,您明白我意思么

举例,要生成5-10之间的保留两位的小数点

那就将min设置成50,max设置成100,这样就可以得到50-100之间的数,输出前除10,就能得到5-10之间的小数了

获取随机数方法,参数是需要获取的随机数的长度

/

需要的长度

@param length

/

private static void getRadom(int length){

//获取一个随机数

double rand = Mathrandom();

//将随机数转换为字符串

String str = StringvalueOf(rand)replace("0", "");

//截取字符串

String newStr = strsubstring(0, length);

Systemoutprintln(newStr);

}

其实就是利用Mathrandom()方法生成一个随机的double数,然后转换为字符串,在字符串中去做 *** 作

有三个小方法

方法1

(数据类型)(最小值+Mathrandom()(最大值-最小值+1))

例:

(int)(1+Mathrandom()(10-1+1))

从1到10的int型随数

方法2

获得随机数

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

{Systemoutprintln((int)(1+Mathrandom()10));}

(int)(1+Mathrandom()10)

通过javaMath包的random方法得到1-10的int随机数for (int i=0;i<30;i++)

{Systemoutprintln((int)(1+Mathrandom()10));}

(int)(1+Mathrandom()10)

通过javaMath包的random方法得到1-10的int随机数

公式是:最小值---最大值(整数)的随机数(类型)最小值+Mathrandom()最大值

方法3

Random ra =new Random();

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

{Systemoutprintln(ranextInt(10)+1);}

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

生成0到1之间的任意随机小数:

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

[n1,n2]

也就是 ranextDouble() (n2-n1)+n1

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

在javautil这个包里面提供了一个Random的类,我们可以新建一个Random的对象来产生随机数,他可以产生随机整数、随机float、随机double,随机long,这个也是我们在j2me的程序里经常用的一个取随机数的方法。

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

具体编程方法摘要:

Random()

创建一个新的随机数生成器

Random(long seed)

使用单个 long 种子创建一个新随机数生成器: public Random(long seed) { setSeed(seed); } next

方法使用它来保存随机数生成器的状态。

protected int next(int bits)

生成下一个伪随机数。

boolean nextBoolean()

返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 boolean 值。

void nextBytes(byte[] bytes)

生成随机字节并将其置于用户提供的字节数组中。

double nextDouble()

返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 00 和 10之间均匀分布的 double 值。

float nextFloat()

返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 00 和 10 之间均匀分布的 float 值。

double nextGaussian()

返回下一个伪随机数,它是从此随机数生成器的序列中取出的、呈高斯(“正常地”)分布的 double 值,其平均值是 00,标准偏差是 10。

int nextInt()

返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。

int nextInt(int n)

返回一个伪随机数,它是从此随机数生成器的序列中取出的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。

long nextLong()

返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 long 值。

void setSeed(long seed)

使用单个 long 种子设置此随机数生成器的种子。

//要点 获取的随机数 在该范围类概率相同 ----有点模糊,该范围内概率相同指的是

看看这个行不

public static int getInt(int minInt,int maxInt){

int num=(int)(Mathround(Mathrandom()(maxInt-minInt)+minInt));

return num;

}

比如生成一个0到50(不包括50)的随机数

你便可以这些写:

Random

random

=

new

Random();

int

randInt

=

randomnextInt(50);

然后你对randInt这个数进行任意可能的 *** 作就行了。。

提取random是在Math的方法里的

直接给你个1-100以内的随机数代码好拉

Random r=new Random();

int i1=rnextInt();

int i2=rnextInt(100);//返回0到100之间的随机数

double d=rnextDouble();

float f=rnextFloat();

byte[] c=new byte[10];;

rnextBytes(c);//生成的随机数存放在 数组c中

公式:Mathrandom()(n-m)+m,生成大于等于m小于n的随机数

按公示取随机数10000至99999[10000,99999):

故:Mathrandom()(99999-10000)+10000;

以上就是关于java获取指定范围的随机数全部的内容,包括:java获取指定范围的随机数、在JAVA里怎么获得9~11位的随机数、Java怎么产生随机数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9347626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存