【发布时间】:2021-05-20 19:23:07
【问题描述】:
我已阅读有关此主题的其他帖子,但到目前为止我还没有找到答案。
给定一个长度为 1000 的数组,找出它的最小值和最大值。这些值是生成随机数的范围。
查找数组的最低和最高数字对我来说是可以的,但在这些范围内生成数字就不行了。
似乎一个简单的int number = random.nextInt(max - min) + min; 可以解决问题,但它没有,因为:
a) max 可以是 100,min 可以是 -100000,这会变成负数并导致错误
b) 像random.nextInt(Math.abs(min) + Math.abs(max)) - Math.abs(min) 这样的其他解决方案完全失败,因为在整数数据类型中,如果超过最大值,将两个正数相加可能会导致负值。
假设我想在 -2147483648 和 2147483647 之间生成一个随机数。我该怎么做?
非常感谢...
【问题讨论】:
-
这听起来有点像家庭作业......
-
@JasonV 是:-D