一、理解Math.random()随机数
系统默认该随机数范围0-1之间的double值,注意:这里的区间是[0,1)//也就是你取不到1
所以如果你在这里使用(int)Math.random() 只能得到一个数字0
二、扩大随机数取值范围
例:获取[50,100)之间的随机整数
int i=(int)(Math.random()*50+50);
//Math.random()只能获取0-1之间的double值,所以首先要获取0-50之间的随机数,所以*50,然后+50,随机数区间就会变为 [50,100) ,最后强制转换为int类型
三、怎样获取端点值
例:获取[50,100] 之间的随机整数,注意:这里要求取到50和100
long i=Math.round(Math.random()*50+50);
//取值范围改变原理同上,在没有使用Math.round之前是获得 [50,100) 的随机数
//Math.round()是四舍五入取整,所以可以达到所要的结果(区别强制转换为int类型:这是直接去整数部分)
相关的取整还有
向上取整:Math.ceil(double a)
向下取整:Math.floor(double a)
有兴趣可以去查找相关资料