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

来源:3-8 使用 Math 类操作数据

慕粉4207816

2017-07-01 20:11

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

写回答 关注

2回答

  • qq_力_3
    2017-07-01 20:34:51
    已采纳

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

    慕粉4207...

    非常感谢!

    2017-07-03 08:47:04

    共 1 条回复 >

  • qq_可楽_0
    2017-07-02 22:18:53

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

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

     

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题