如何使用Math.random生成随机数给出固定结果

时间:2013-10-30 00:39:13

标签: java math random range

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

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

2 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:0)

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

   Random r = new java.util.Random();
   ...
   int x = r.nextInt(4)*90;