Java 生成x和y之间的随机数

Java 生成x和y之间的随机数,java,random,Java,Random,我没有访问编译器atm的权限,但我正在考虑如何生成一个随机浮点值。要生成随机整数值,我将使用: Random r = new Random(); int x = r.nextInt(8) + 9; 我如何生成介于6.2和7.4之间的randon数?正如所说,简单地说,就是一个介于62和74之间的随机数,然后除以10 下面是一个例子: Random r = new Random(); double d = (double) ((r.nextInt(75) + 62) / 10d); System

我没有访问编译器atm的权限,但我正在考虑如何生成一个随机浮点值。要生成随机整数值,我将使用:

Random r = new Random();
int x = r.nextInt(8) + 9;
我如何生成介于6.2和7.4之间的randon数?

正如所说,简单地说,就是一个介于62和74之间的随机数,然后除以10

下面是一个例子:

Random r = new Random();
double d = (double) ((r.nextInt(75) + 62) / 10d);
System.out.println(d);

确定找到x和y的差,并将其存储在一个双精度值中。然后,为了得到这个值,你只需将差分存储的双精度值乘以Math.random,然后将它存储在某个可能的地方,这会给出一个从0到1的值;不包括一个。然后在这里加上随机差的较小值。它可能是您的最小值,也可能非常接近您的较高值。不要为整数操心,这会给你更真实的随机结果。

我会这样做:

float min = 6.2f;
float max = 7.4f;
float result = (float)Math.random() * (max - min) + min;
参考文献


顺便说一句,这里有一个Java在线编译器:

6.2不是整数。生成一个介于62和74之间的随机数并除以10?生成一个介于0和1之间的双精度数。请参阅随机文档,乘以1.2,再加上6.2…你应该能够适应浮点或双精度类型。真正的随机浮点数有点难,因为它不是一个离散的组。尽管如此,对于一个小数点,您可以进行62到74除以10的除法运算,对于两个小数点,您可以进行620到740除以100的除法运算,以此类推。。。