我知道还有另一个关于随机范围内的问题,但他们的答案都没有完成我想要做的事情。实际上他们有同样的错误。我编写了这个简单的函数来生成随机范围。
Random m_random = new Random();
...
public int RandomWithRange(int min, int max) {
return m_random.nextInt(max - min + 1) + min;
}
如果范围大于 Integer.MAX_VALUE,则抛出 IllegalArgumentException:n 必须为正。我知道它溢出并变成负数。我的问题是如何处理?
示例范围;
- [0, 整数.MAX_VALUE]
- [整数.MIN_VALUE,整数.MAX_VALUE]
- [-100,整数.MAX_VALUE]
注意: min 和 max 必须包含在内。