如何获得范围内为负数的随机数?
问题内容:
考虑以下代码:
int rand = new Random().nextInt((30 - 20) + 1) + 20
它将返回30到20之间的随机数。但是,我需要它的范围包括负数。 我如何在这一代中包括负数?
我曾尝试使用会是负数的数学,但这导致了错误。简单地减去或加上负数将不会产生所需的值。
编辑: 对不起,我只有半醒。正确的代码是int rand = new Random().nextInt((30 - 20) + 1) + 20;
。
问题答案:
要使用min
和获取设置范围内的随机数max
:
int number = random.nextInt(max - min) + min;
也适用于负数
所以:
random.nextInt(30 + 10) - 10;
// max = 30; min = -10;
会产生介于-10和30之间的随机整数。
也可以加倍