为了账号安全,请及时绑定邮箱和手机立即绑定

第一次运行没问题 后面在运行一直显示全部是0, 去掉(int)转型会报错 是什么原因啊?应该怎么做呢 在这里向各位请教一下

如题:怎么生成10以内的随机数

https://img1.sycdn.imooc.com//5bef936d0001573f09020651.jpg



正在回答

3 回答

Math.random();这个方法取的是0—1之间的double型数据。所以需要强制转换为int类型。

如果像你这么写:(int) Math.random() * 10;他会将你获取的随机数(一般是0.******)先转换成int类型,浮点型转整型会省略小数点后的数字,然后再乘以10。那不论怎么取都是0了。所以需要将(Math.random() * 10)用小括号括起来,计算完后再转型。

1 回复 有任何疑惑可以回复我~
#1

_冬阳 提问者

谢谢你
2018-11-21 回复 有任何疑惑可以回复我~
#2

雀雀you 回复 _冬阳 提问者

不客气
2018-11-21 回复 有任何疑惑可以回复我~

         // 产生10以内的随机数(包括10)

int x = (int)(Math.random()*10)+1;



0 回复 有任何疑惑可以回复我~

int x =(int)(Math.random()*10);

0 回复 有任何疑惑可以回复我~
#1

_冬阳 提问者

谢谢。
2018-11-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

第一次运行没问题 后面在运行一直显示全部是0, 去掉(int)转型会报错 是什么原因啊?应该怎么做呢 在这里向各位请教一下

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信