假设我的范围是1到1000.如何在该范围内获得不超过x大小的随机子范围?
我尝试了以下内容:
int newMin = getRandomInt(1,1000);
newMax = newMin + rangeSize;
但是失败了,因为它可能会超过最大范围。
因此,如果起始范围为1到1000且子范围大小指定为大小100,则新范围可以是200-300。
感谢任何帮助。
答案 0 :(得分:3)
也许尝试类似的事情:
int newMin = getRandomInt(1,1000),
newMax = getRandomInt(newMin, 1000);
你的范围是从newMin到newMax。
编辑:所以听起来我们有一个名为rangeSize的东西。上述答案并不能保证获得具有确切rangeSize的新子范围。所以这是编辑过的代码:
int newMin = getRandomInt(1, 1000 - rangeSize),
newMax = newMin + rangeSize;