黑马程序员技术交流社区

标题: Math.random随机数的问题 [打印本页]

作者: Buer    时间: 2016-7-20 23:58
标题: Math.random随机数的问题
案例讲解了1-100随机数的产生。random产生的是0-1.0,如需要20-100这样的随机数,需要什么办法呢

作者: Sachiel    时间: 2016-7-21 00:34
Random类里面有个    nextInt(int n)方法,去查API
作者: 自娱自乐的朋朋    时间: 2016-7-21 00:34
random(80)+20
作者: yuxing    时间: 2016-7-21 19:52
Math.random()*80 + 21
作者: qetu001212    时间: 2016-7-21 21:52
20-100是不是就是(0-80)+20?那就用(int)(Math.random()*80+21)~~~,或者直接用random(80)+20~~~
作者: yin12310    时间: 2016-7-22 00:15
Random 随机数的取值范围在0.0-1.0之间,并且不包含1.0,是一个double值,实际取值范围就是0.0到0.9999999.... 无限循环,要得到1-100的整数就乘以100加1,而在java中 double值在乘以一个int类型的100值 会发生类型提升,计算机会把得到的结果默认提升为int类型的,当然提升为int类型当中就会损失精度,所以会把后面的小数去掉,本来0.999999...乘以100就等于 99.999999... 经过提升类型就会把小数点后面的去掉得到的结果就是99了  范围就变成了0-99了加1范围就是0-100了 要得到20-100之间的范围的话 自己去思考吧!!!
作者: javaee王虎    时间: 2016-7-22 00:53
random(80)+20;
作者: 大天    时间: 2016-7-22 22:48
random(81)+20为20-100包含100,random(80)+20为20-100不包含100.








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2