分析
random产生的是[0,1)中的随机小数
首先如果想要生成整数,就要强制转换成int类型
转换成整型后那么[5,50]这个区间也就可以写成[5,51)
问题就变的很简单了,只需要让random()乘以(51-5)再加5
(int)(Math.random()*46+5)
总结
其实可以总结出公式:
-
对于在区间[m,n)中随机生成浮点数,有如下公式
Math.random()*(n-m)+m
-
对于在区间[m,n]中随机生成整数,有如下公式
(int)(Math.random()*(n-m+1)+m)