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

© Buer 中级黑马   /  2016-7-20 23:58  /  686 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

案例讲解了1-100随机数的产生。random产生的是0-1.0,如需要20-100这样的随机数,需要什么办法呢

7 个回复

倒序浏览
Random类里面有个    nextInt(int n)方法,去查API
回复 使用道具 举报
random(80)+20
回复 使用道具 举报
Math.random()*80 + 21
回复 使用道具 举报
20-100是不是就是(0-80)+20?那就用(int)(Math.random()*80+21)~~~,或者直接用random(80)+20~~~
回复 使用道具 举报
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之间的范围的话 自己去思考吧!!!
回复 使用道具 举报
random(80)+20;
回复 使用道具 举报
大天 中级黑马 2016-7-22 22:48:23
8#
random(81)+20为20-100包含100,random(80)+20为20-100不包含100.



回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马