-4

我在生成这段代码时遇到了麻烦,我确定我只是在编码器的块或其他东西中,因为它似乎应该很容易,但我一生都无法得到它。

我有一个程序需要在一定范围内生成随机数来代表金钱。规定是货币需要在 2 到 200 之间,并且仅代表偶数美元,因此 2 美元、4 美元、6 美元……以此类推。我已经在网上进行了广泛的搜索,这些搜索产生了大量的代码来表示 Java 中某个范围内的随机数,但不是关于仅偶数的部分。

有任何想法吗?

4

2 回答 2

1

如果您想聪明一点,可以确保未设置数字的最低有效位:

int num = (new Random().nextInt(199) & ~1) + 2;

这将确保数字始终是偶数。

感谢 Eyal Shneider 和 Omaha


不过,来自 OP 的Marcelo的评论是正确的答案。

获取 1-100 之间的数字,并乘以 2:

int num = (new Random().nextInt(100) + 1) * 2;
于 2013-09-12T20:20:45.407 回答
0
int rand = new Random.nextInt(200);
int result = 2;
while(result < rand) {
    result += 2;
}
return result;

(我会使其递归,但我必须去见我的妻子吃晚饭。)

于 2013-09-12T22:22:31.733 回答