Math.random()是java中常见的取随机数的方法
首先在原理上
Math.random()是java中double类型的[0,1)之间的随机数
那么我们自己定义的时候只需要去给这个Math.random()去做运算改变其范围即可
例如我们想取[10,99]之间的随机数
首先按照逻辑想一下 把10看做m,把99看做n
首先先都做一下乘法
Math.random()*m ------->[0,1)*m-------------->[0,m)--------->现在可以取到0到m-1
之间的随机double数据类型的数字
然后我们进一步去想
Math.random()*(m-n)+n----------->[0,1)*(m-n)+n--------->[n,m)----->这样的话
m是取不到
所以我们稍加修改:
Math.random()*(m-n+1)+n------->[0,1)*(m-n+1)+n---->[n,m+1)----->但是数据类型仍为double
所以我们还需要强转一下
(int)(Math.random()*(m-n+1)+n)
这样的话就可以把随机数的范围限制在m-n之间了
完整的[10,99]的代码如下:
int i = (int) (Math.random() * (99 - 10 + 1) + 10);
System.out.println(i);