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

GIS*_*DBA 2 java random math range

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

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

Fli*_*sey 10

int rand = ((int)(Math.random()*4)) * 90;
Run Code Online (Sandbox Code Playgroud)

让我们打破它.首先Math.random(),返回范围[0,1)中的随机小数.(0到0.999999999之间的任何东西......,松散地.)

Math.random()*4 //Gives a random decimal between 0 and 4 (excluding 4)
Run Code Online (Sandbox Code Playgroud)

接下来,让我们截断小数.

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

最后,我们将在90岁之前多道次.

int rand = ((int)(Math.random()*4)) * 90; //0*90=0, 1*90=90, 2*90=180, or 3*90=270
Run Code Online (Sandbox Code Playgroud)