2

我是 JAVA 新手,我想我已经搜索了所有问题,但没有找到与我的问题相似的问题。

我想使用 Math.random() 生成可以返回 4 个固定数字的随机数。我想要得到的数字是:0、90、180 和 270。换句话说,我想要 4 个数字,最小值为 0,最大值为 270,增量为 90。

4

2 回答 2

11
int rand = ((int)(Math.random()*4)) * 90;

让我们分解一下。以 开头Math.random(),返回 [0,1) 范围内的随机小数。(0 到 0.999999999 之间的任何值......,松散地。)

Math.random()*4 //Gives a random decimal between 0 and 4 (excluding 4)

接下来,让我们截断小数点。

(int)(Math.random()*4) //Truncates the decimal, resulting in a random int: 0, 1, 2, or 3

最后,我们将乘以 90。

int rand = ((int)(Math.random()*4)) * 90; //0*90=0, 1*90=90, 2*90=180, or 3*90=270
于 2013-10-30T00:40:25.063 回答
0

您最好创建一个java.util.Random对象并重用它:

   Random r = new java.util.Random();
   ...
   int x = r.nextInt(4)*90;
于 2013-10-30T00:44:15.020 回答