一、为什么需要这种方法?
Random函数只能限制生成随机数的区间的末尾是多少,开头固定就是0,如果需要其他范围的随机数,使用Random就会很不方便。
二、方法思路
1.头尾相减
取值范围的尾减头,让这个范围从0开始;
EX:取值范围7~15,头尾同时减7,范围变为0~8。
2.尾巴+1
因为Random函数的性质,r.nextInt(n),随机数取值范围是0~n-1,所以要是想取值范围正确,需要尾数+1.
3.最终的结果加上初始的首个数字
EX:延续上一个例子,取7~15范围,现在是0~8,所以还需随机数+7
代码
public static void main(String[] args) {
Random r=new Random();
//选定随机数的生成区间为7~15
//15-7=8
//8+1=9
int number = r.nextInt(9)+7;
//随机数结果加上最初的首个数字
System.out.println(number);
}