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

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

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

如何在一个范围内生成随机数?


当前回答

int min = 65;
int max = 80;

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

注意,nextInt(int max)返回一个介于0包含和max排除之间的int。所以是+1。

其他回答

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

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

int min = 65;
int max = 80;

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

注意,nextInt(int max)返回一个介于0包含和max排除之间的int。所以是+1。