public static void main(String[] args) {
int max=20;
int min=10;
Random random = new Random();
//int s = random.nextInt(max+1)%(max-min+1) + min;//------------方式1
int s = random.nextInt(max-min+1)+min;//-------------方式2(推荐)
System.out.println(s);
}
random.nextInt(max)表示生成[0,max)之间的随机数,不包含max。
方式1:
首先生成0-20的随机数,然后对(20-10+1)取模---(取模)---得到[0-10]之间的随机数,然后加上min=10,最后生成的是10-20的随机数
(该方式取100~1000 随机数时,取得901-1000的取模值是[0-100],所以100~200出现的概率会增多)