慕粉4207816
2017-07-01 20:11
为什么十以内的随机数(int)(Math.random() * 10)要这样写,怎么不能是Math.random() * 10
因为Math.random()出来的数据是double型,需要用int进行强制转换。先用Math.random乘以10,然后用int去掉小数点后面的数据,这样得到的数据就是整型了。
这是因为(int)强制转换在前,程序先执行转换后,再*10,结果是,选随机生成0-1之前的确双精数,再强制转换为0,再0*10,随机生成的10个数都为0。故必须为:
(int)(Math.random() * 10)
Java入门第三季
409792 学习 · 4340 问题
相似问题