java - 一定尺寸范围内的范围?

标签 java c# spring math range

假设我的范围是 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/

相关文章:

java - 没有灰色区域的可滚动 JPanel

java - 使用 Java 从图像中读取像素

c# - 在 Azure 搜索中,如何将日期时间字段与日期时间文字进行比较?

java - Spring MethodInvokingBean - DriverManagerDataSource 不接受返回的值

java - 在代理的activemq网络中禁用jmx(spring,xbean)

java - 重复表头

java - 错误: Hibernate could not initialize proxy - no Session

c# - 如何通过 C# 代码检查 Azure IoT 中心门户中 IoT 设备的状态(启用或禁用)?

c# - 获取未处理的异常 : System. Reflection.TargetParameterCountException:参数计数不匹配

java - 如何遍历每一行,计算差异然后对所有内容进行平均?