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

随机数中*10与*9有和区别

我想问,int x =(int) (Math.random()*10)与int x =(int) (Math.random()*9)的区别是什么?;

提问者:qq_Dreamy_旧城_0 2017-02-20 16:45

个回答

  • ziom
    2017-02-20 17:05:55
    已采纳

    两者都是生成随机正整数,前者的随机数值域是[0, 9], 后者值域是[0, 8]

  • qq_龟龟_1
    2017-02-20 16:57:27

    Math.random()的随机取值范围是[0,1),也就是说能取到0,取不到1,最多也就是0.999无限9下去- -..接下来看*10和*9的区别也就很明显了,*10的范围是[0,10)是到不了10的,int强转之后最大的值也就是9,同理*9,[0,9),int强转后最大为8,先这么解释吧...望各位大佬指正,轻喷