我想在特定范围内生成随机数。 (例如,范围在65到80之间)
我尝试按照下面的代码,但它不是很充分使用。它还返回大于max的值。价值(大于80)。
Random r = new Random();
int i1 = (r.nextInt(80) + 65);
如何在范围之间生成随机数?
答案 0 :(得分:477)
Random r = new Random();
int i1 = r.nextInt(80 - 65) + 65;
这给出了一个65(包括)和80(不包括)之间的随机整数,65,66,...,78,79
之一。
答案 1 :(得分:292)
int min = 65;
int max = 80;
Random r = new Random();
int i1 = r.nextInt(max - min + 1) + min;
请注意,nextInt(int max)
会在0(包含)和最大独占之间返回int
。因此+1
。