Java用Math.random()随机生成[5,50]中的整数

分析

random产生的是[0,1)中的随机小数
首先如果想要生成整数,就要强制转换成int类型
转换成整型后那么[5,50]这个区间也就可以写成[5,51)
问题就变的很简单了,只需要让random()乘以(51-5)再加5

(int)(Math.random()*46+5)

总结

其实可以总结出公式:

  1. 对于在区间[m,n)中随机生成浮点数,有如下公式

    Math.random()*(n-m)+m

  2. 对于在区间[m,n]中随机生成整数,有如下公式

    (int)(Math.random()*(n-m+1)+m)

猜你喜欢

转载自blog.csdn.net/Supreme7/article/details/105074519