关于Java:在Android中如何在特定范围内生成随机数?

How can I generate random number in specific range in Android?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Java: generating random number in a range

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

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

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

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


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

这给出了一个介于65(含)和80(不含)之间的随机整数,是65,66,...,78,79中的一个。


1
2
3
4
5
int min = 65;
int max = 80;

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

注意,nextInt(int max)返回的int介于0和max exclusive之间。因此出现了+1