如何生成从-9到9的随机数?

时间:2018-04-07 19:11:47

标签: java

        double random1 = Math.random() * 9 + -9;
        double random2 = Math.random() * -9 + 9;

我需要使用Math.random随机生成从-9到9的数字。当我使用这个代码时,我在这里它只打印第一个数字作为负数。我已经多次运行,但第一个数字总是负数而第二个数字是正数。我该如何解决这个问题更随机?感谢

3 个答案:

答案 0 :(得分:2)

Math.random()生成一个介于0和1之间的数字。

如何乘以18然后减去9?

答案 1 :(得分:1)

在jdk-7中,您可以使用ThreadLocalRandom

公共int nextInt(int来源,int绑定)

  

返回指定原点(包括端点)和指定边界(不包括端点)之间的伪随机整数值。

ThreadLocalRandom.current().nextInt(-9, 10) // will generate from -9>=x<10

答案 2 :(得分:0)

如果您想要一个数字min和数字max之间的值:

Math.random() * ((max - min) + 1) + min