A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wsl123456 中级黑马   /  2016-6-23 11:09  /  656 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java中除了Random能获得随机数,还有什么类或方法能获得随机数呢?

5 个回复

倒序浏览
用Math类的random方法:Math.random(),你要随机数的范围是什么就乘以什么+1,例如你要一个0-100的整数的话,那就int number = (int) (Math.random() * 100) + 1
回复 使用道具 举报
两种获取随机数的方法:

1.(int)(Math.random()*100)+1

2.Random r=new Random();
   r.nextInt(100)+1;
回复 使用道具 举报
本帖最后由 迅雷 于 2016-6-23 22:40 编辑

我知道的也是这两种一种是Random类的nextInt(int n)的方法调用,需要导包和创建一个新的Random对象再调用
另一种是Math类的random()方法,生成double类型的大于等于0.0小于1.0的随机数,使用的时候不用导包和创建对象,能够直接调用,但要注意随机数的数据类型,需要的话要强转为int类型再赋值
回复 使用道具 举报
方法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

);}  

通过

java.util

包中的

Random

类的

nextInt

方法来得到

1-10



int

随机数



   

生成

0



1

之间的任意随机小数:

  

生成

[0,d)

区间的随机小数,

d

为任意正的小数,则只需要将

nextDouble

方法的

返回值乘以

d

即可。



[n1



n2]

  

也就是

ra.nextDouble() * (n2-n1)+n1

回复 使用道具 举报
方法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()*最大值
方法3Random ra =new Random();for (int i=0;i<30;i++){System.out.println(ra.nextInt(10)+1);}通过java.util包中的Random类的nextInt方法来得到1-10的int随机数 生成0到1之间的任意随机小数:生成[0,d)区间的随机小数,d为任意正的小数,则只需要将nextDouble方法的返回值乘以d即可。[n1,n2]也就是 ra.nextDouble() * (n2-n1)+n1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马