如何在Android中生成特定范围内的随机数? [重复]

问题

可能重复:Java:生成范围内的随机数

我想在特定范围内生成随机数。 (例如65到80之间的范围)

我尝试按照下面的代码,但它不是很充分使用。它还返回大于max的值。价值(大于80)。

Random r = new Random();
int i1 = (r.nextInt(80) + 65);

如何在范围之间生成随机数?


#1 热门回答(439 赞)

Random r = new Random();
int i1 = r.nextInt(80 - 65) + 65;

这给出了65(包括)和80(不包括)之间的随机整数,其中一个是47836456。


#2 热门回答(282 赞)

int min = 65;
int max = 80;

Random r = new Random();
int i1 = r.nextInt(max - min + 1) + min;

请注意,nextInt(int max)返回0包含和最大独占之间的aint。因此,+1