java中表达式(int)(math.random()*6)+1的功能是什么

 我来答
习奕声赖鸾
2020-01-13 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:35%
帮助的人:1009万
展开全部
因为Math.random()生成的随机数是[0,n),结尾是一个开区间,也就是包含最后项,那么如果要生成带有6的随机数的话单单random()*6是得不到的,因为开区间不包含也就是最大会生成5.999999999……也不会有6的出现,当将5.9999999……转成int型后,就是5,小数部分被截掉了,所以:
(int)(Math.random()*6)+1
就是生成0到6,且包含0和6的随机数
弓汀兰屠婵
2020-01-11 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:34%
帮助的人:785万
展开全部
首先,math.random()是令系统随机选取大于等于
0.0
且小于
1.0
的伪随机
double
值,
math.random()*6当然得到的是大于等于0且小于6的伪随机double值,(int)(math.random()*6)是将得到的double值强制转换成int类型的值,即0~5的整数,所以最终该表达式可能得到1~6的其中一位整数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式