当前位置: 首页 > 面试题库 >

如何获得范围内为负数的随机数?

通俊发
2023-03-14
问题内容

考虑以下代码:

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之间的随机整数。

也可以加倍



 类似资料:
  • 本文向大家介绍如何获得MySQL随机整数范围?,包括了如何获得MySQL随机整数范围?的使用技巧和注意事项,需要的朋友参考一下 要获取随机整数范围,请使用函数。创建表的查询- 将记录插入表中。查询如下- 现在,您可以在select语句的帮助下显示所有记录。查询如下- 以下是显示整数的输出- 生成随机整数范围的查询如下- 输出在同一表中显示随机整数范围-

  • 如果我做:Math.random() * 4-2 这会让我得到一个范围(-2,2),2是排他性的吗?我认为这是正确的,但我很少得到正数(是的,我知道这是一个随机算法,我们必须无限随机地生成它才能感觉到,但我只是想确保) 新问题 如果我想要所有从-1到1的随机有理数,两个边界都包括在内,那么这条线是否有效:Math.random() * 2.00000000000000001 - 1; 我查了一下,

  • 问题内容: 我试图为我在1到60之间选择的每一行生成一个随机整数作为计时器。 我已经搜索并继续使用此FLOOR函数作为如何在范围内选择随机整数。这给我每一行1。我想念什么? 我在mysql 5.0.75上 我相信这是查询的其余部分,这可能是一个嵌套问题 问题答案: 这对我有用。您的mysql版本可能是?

  • 问题内容: 如何生成一个随机整数,这样属于? 我试图用这个: 但是它给我带来了价值。 但就我而言,我需要他们成为。 问题答案: Random generator = new Random(); int i = generator.nextInt(10) + 1;

  • 因此,我一直在寻找一个函数,该函数需要2个参数,一个低值和一个高值(均为64位整数),而不是在这些范围之间生成一个随机数。我一直遇到的问题是,这个数字不是64位int,或者边缘的数字比中间的数字更常见。 这是一些代码:它只是一直返回-1或0…

  • 问题内容: 我需要生成一个范围内的随机唯一数字吗?怎么做 ? 我可以通过生成随机数 我知道这段代码不好,所以我需要一个更好的优化版本代码!帮帮我 ! 例如:如果我需要在1到15之间生成3个数字,它们应该像5、9、1而不是3,1,2 [具有1-3(我要生成的数字)] 问题答案: 以随机顺序排列数字范围的数组: 包装功能: 例: 结果: