我在生成这段代码时遇到了麻烦,我确定我只是在编码器的块或其他东西中,因为它似乎应该很容易,但我一生都无法得到它。
我有一个程序需要在一定范围内生成随机数来代表金钱。规定是货币需要在 2 到 200 之间,并且仅代表偶数美元,因此 2 美元、4 美元、6 美元……以此类推。我已经在网上进行了广泛的搜索,这些搜索产生了大量的代码来表示 Java 中某个范围内的随机数,但不是关于仅偶数的部分。
有任何想法吗?
如果您想聪明一点,可以确保未设置数字的最低有效位:
int num = (new Random().nextInt(199) & ~1) + 2;
这将确保数字始终是偶数。
感谢 Eyal Shneider 和 Omaha
不过,来自 OP 的Marcelo的评论是正确的答案。
获取 1-100 之间的数字,并乘以 2:
int num = (new Random().nextInt(100) + 1) * 2;
int rand = new Random.nextInt(200);
int result = 2;
while(result < rand) {
result += 2;
}
return result;
(我会使其递归,但我必须去见我的妻子吃晚饭。)