这是我遵循的格式:
int randomNum = rand.nextInt((max - min) + 1) + min;
这是我的代码。我正在尝试获取 1 到 100 之间的随机偶数:
Random rand = new Random();
int randomNum = rand.nextInt((100 - 2) + 1) + 2;
我看到一种解决方案是将数字乘以 2,但这超出了预期的范围。
我想过做一堆 if 语句来解决这个问题,但它似乎过于复杂。有没有比较简单的解决方案?
最佳答案
只需生成一个从 0 到 49 的数字,然后将其乘以 2。
Random rand = new Random();
int randomNum = rand.nextInt(100/2) *2;
要在一个范围内完成,只需将范围添加到:
int randomNum = startOfRange+rand.nextInt((endOfRange-startOfRange)/2) *2;
注意startOfRange应该是偶数或者转换成偶数。
关于java - 生成一个范围内的随机偶数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33870759/