2

如何获得范围内的随机数?我有一个 X、Y 和 Z 坐标用于最小和最大界限(这是一个视频游戏)。如何获得位于这些边界内的随机坐标?

4

3 回答 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 回答