假设我的范围是 1 到 1000。我如何获得该范围内不超过 x 大小的随机子范围?
我尝试了以下方法:
int newMin = getRandomInt(1,1000);
newMax = newMin + rangeSize;
但这失败了,因为它可能会超过最大范围。
因此,如果起始范围为 1 到 1000,并且子范围大小指定为大小 100,则新范围可能为 200-300。
感谢任何帮助。
最佳答案
也许可以尝试这样的事情:
int newMin = getRandomInt(1,1000),
newMax = getRandomInt(newMin, 1000);
您的范围将从 newMin 到 newMax。
编辑: 所以听起来我们有一个叫做 rangeSize 的东西。上面的答案并不能保证得到一个具有确切 rangeSize 的新子范围。所以这是编辑后的代码:
int newMin = getRandomInt(1, 1000 - rangeSize),
newMax = newMin + rangeSize;
关于java - 一定尺寸范围内的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45776656/