关于java:如何使用随机库?

How to use the Random library?

如何使用Random将这些值设置为0到100之间的随机十进制数?

1
2
xPos = Math.round((Math.random() * 100) * 10) / 10;
yPos = Math.round((Math.random() * 100) * 10) / 10;

我试图将值xPos和yPos设置为0到100之间的随机小数


试试这个:

1
2
3
Random rand = new Random();
double xPos = rand.nextDouble() * 100;
double yPos = rand.nextDouble() * 100;

nextDouble docs


要从[0-100]生成随机小数,您可以使用Math.random(),或者可以使用Random对象

请注意[0-100],这些代码位返回0到100之间的数字,但不包括100

的Math.random():

1
2
double xPos = Math.random() * 100;
double yPos = Math.random() * 100;

Math.random(),带小数点后1位:

1
2
double xPos = Math.floor(Math.random() * 1000) / 10;
double yPos = Math.floor(Math.random() * 1000) / 10;

随机对象:

1
2
3
Random r = new Random();
double xPos = r.nextDouble() * 100;
double yPos = r.nextDouble() * 100;

1位小数的随机对象:

1
2
3
Random r = new Random();
double xPos = r.nextInt(1000) / 10.0;
double yPos = r.nextInt(1000) / 10.0;

使用Random对象被认为是更好的做法,即使Math.random()调用它自己的内部Random对象也是如此。

使用Random而不是Math.random()确实具有更容易并发的好处。 如果没有多个Random对象,大量使用随机数字的多线程将减慢为爬行速度