如何获得范围内的随机数?我有一个 X、Y 和 Z 坐标用于最小和最大界限(这是一个视频游戏)。如何获得位于这些边界内的随机坐标?
问问题
6661 次
3 回答
1
如果你想要一个整数,请使用 Random 类:
import java.util.Random;
要生成整数:
Random r = new Random();
r.nextInt(max - min + 1) + min; // This will return a random int between min and max
生成随机浮点数(不需要随机类)
Min + (Math.random() * (Max - Min))
于 2013-07-02T01:04:24.030 回答
1
你试过这个吗?
(Math.random() * upperLimit) + lowerLimit
于 2013-07-02T01:04:12.100 回答
0
float[] getRandomVect
(float minX, float minY, float minZ, float maxX, float maxY, float maxZ)
{
//Vectors can be translated, multipled or scaled later
float[] result=new float[3];
result[0]=Math.random()*(maxX-minX)+minX;
result[1]=Math.random()*(maxY-minY)+minY;
result[2]=Math.random()*(maxZ-minZ)+minZ;
return result;
}
//later usage:
float [] randomVector= getRandomVect(2,2,3,5,5,10);
// makes vector's X between 2 and 5
// Y between 2 and 5
// Z between 3 and 10
于 2013-07-02T01:10:02.320 回答