double random1 = Math.random() * 9 + -9;
double random2 = Math.random() * -9 + 9;
我需要使用Math.random随机生成从-9到9的数字。当我使用这个代码时,我在这里它只打印第一个数字作为负数。我已经多次运行,但第一个数字总是负数而第二个数字是正数。我该如何解决这个问题更随机?感谢
答案 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