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

为什么十以内的随机数(int)(Math.random() * 10)要这样写,怎么不能是Math.random() * 10

为什么十以内的随机数(int)(Math.random() * 10)要这样写,怎么不能是Math.random() * 10

正在回答

2 回答

因为Math.random()出来的数据是double型,需要用int进行强制转换。先用Math.random乘以10,然后用int去掉小数点后面的数据,这样得到的数据就是整型了。

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

慕粉4207816 提问者

非常感谢!
2017-07-03 回复 有任何疑惑可以回复我~

这是因为(int)强制转换在前,程序先执行转换后,再*10,结果是,选随机生成0-1之前的确双精数,再强制转换为0,再0*10,随机生成的10个数都为0。故必须为:

(int)(Math.random() * 10)

 

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

举报

0/150
提交
取消

为什么十以内的随机数(int)(Math.random() * 10)要这样写,怎么不能是Math.random() * 10

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