【发布时间】:2015-11-23 12:08:44
【问题描述】:
这是我遵循的格式:
int randomNum = rand.nextInt((max - min) + 1) + min;
这是我的代码。我正在尝试获得 1 到 100 之间的随机偶数:
Random rand = new Random();
int randomNum = rand.nextInt((100 - 2) + 1) + 2;
我看到一种解决方案是将数字乘以 2,但这超出了预期范围。
我想过做一堆 if 语句来解决这个问题,但它似乎过于复杂。有没有比较简单的解决办法?
【问题讨论】:
-
简单:生成一个超过一半范围的随机数,然后乘以2。
-
哦!聪明的。 =) 我认为这应该可行。谢谢!
-
@Jesper 但是无法生成该范围内的第一季度偶数。
-
@rajuGT 你是什么意思?所有 3 个答案对我来说都是有效的。
-
给定范围是从 2 到 100。建议的解决方案是在一半范围内生成一个随机数。即 2 到 49。在此可能的最低值可以是 2。然后将其乘以 2。即 4。所以在这里,我们不能在这里生成随机数 2。让我知道我的理解是否不正确或与大家不符。 (也考虑到随机范围),抱歉,这不应该是我之前评论中的第一季度。