求解这道关键代码,用于生成1-16的随机数

求解这道关键代码,用于生成1-16的随机数

问题描述:


int random=(int)(Math.random()*16)+1;//Generate a random number from 1 to 16

可以解释一下吗,为什么后面要+1?

Math.random() 这个方法的取值范围是 [0,1)的小数, 包括0 ,不包括1 ,
所以* 16 范围就是 [0,16) 做+1 处理之后就变成了 [1,17)之间的小数,再取整就是1-16 了
理解明白了忘采纳

欢迎加好友讨论学习

因为random是0-1,*16之后是0-16,不包括16,所以要+1
这样再转化为int的时候范围就是1-16的整数了
有帮助望采纳