问答详情
源自:3-8 使用 Math 类操作数据

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

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

提问者:慕粉4207816 2017-07-01 20:11

个回答

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

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

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

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

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