gpt4 book ai didi

java - 在Java中生成以N的倍数递增的随机数

转载 作者:行者123 更新时间:2023-11-29 09:48:18 27 4
gpt4 key购买 nike

我需要编写一个简短的随机化器,它生成一个介于 1 到 N 之间的随机数,其中随机数以 M 的倍数递增。

例如:生成 1 到 (N=30) 之间的数字,并以 (M=5) 的倍数递增。唯一可能生成的数字可能是:1、5、10、15、20、25 和 30。希望你明白我的意思:)

通常,如果您使用 new Random().nextInt(30)+1,您得到的数字会以 1 的倍数增加(1、2、3、4、5、6、7 等) .).这不是我想要的。

非常感谢任何帮助、链接或指导?

编辑:

生成的随机数序列可以包含 1 而不是零是该方法的要求之一。准确地说,序列总是从下限 (min) 开始。在示例中,下限为 1,因此序列中不能为零。我知道这很奇怪,但这些是我必须遵循的要求;)

最佳答案

您可以将随机值乘以 5。因为您想要 1 而不是 0,只需查找该值并具体更改它:

static final Random random = new Random(System.currentTimeMillis());

public int random(int range, int multiple) {
int value = random.nextInt(range / multiple) * multiple;
return value == 0 ? 1 : value;
}

关于java - 在Java中生成以N的倍数递增的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20372416/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com