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

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

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

正在回答

2 回答

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

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

qq_Dreamy_旧城_0 提问者

好的,谢谢指教!
2017-02-21 回复 有任何疑惑可以回复我~
#2

qq_Dreamy_旧城_0 提问者

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

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

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

qq_龟龟_1

- -int强转之后的最小值没什么区别,都是0因为Math.random()随机取的到0....
2017-02-20 回复 有任何疑惑可以回复我~
#2

qq_Dreamy_旧城_0 提问者

好的,谢谢指教!
2017-02-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409790    人
  • 解答问题       4340    个

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

进入课程

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

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