黑马程序员技术交流社区
标题:
求大神解惑!!一个面试题???
[打印本页]
作者:
wsl123456
时间:
2016-6-23 11:09
标题:
求大神解惑!!一个面试题???
Java中除了Random能获得随机数,还有什么类或方法能获得随机数呢?
作者:
新晋猿工
时间:
2016-6-23 11:27
用Math类的random方法:Math.random(),你要随机数的范围是什么就乘以什么+1,例如你要一个0-100的整数的话,那就int number = (int) (Math.random() * 100) + 1
作者:
syinys7
时间:
2016-6-23 16:54
两种获取随机数的方法:
1.(int)(Math.random()*100)+1
2.Random r=new Random();
r.nextInt(100)+1;
作者:
迅雷
时间:
2016-6-23 22:34
本帖最后由 迅雷 于 2016-6-23 22:40 编辑
我知道的也是这两种一种是Random类的nextInt(int n)的方法调用,需要导包和创建一个新的Random对象再调用
另一种是Math类的random()方法,生成double类型的大于等于0.0小于1.0的随机数,使用的时候不用导包和创建对象,能够直接调用,但要注意随机数的数据类型,需要的话要强转为int类型再赋值
作者:
1316582449
时间:
2016-6-23 23:23
方法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
作者:
1316582449
时间:
2016-6-23 23:30
方法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
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2