Math.Random()简介
Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
for (int i = 0; i < 5; i++) {
double num = Math.random();
System.out.println(num);
}
结果如下:
0.991836137537863
0.11210420678832744
0.3349661025274727
0.6154826738190097
0.9783462209720709
Math.Random()简单应用
1、生成 m<= num <n 的随机数
(int)(Math.random()*(n-m)+m)
例如:2<=num<8
for (int i = 0; i < 5; i++) {
int num = (int)(Math.random()*(8-2)+2);
System.out.println(num);
}
结果如下:
5
7
4
5
2
2、生成 m<= num <=n 的随机数
(int)Math.floor((Math.random()*(n-m+1)+m))
例如:2<=num<=8
for (int i = 0; i < 5; i++) {
int num = (int)Math.floor((Math.random()*(8-2+1)+2));
System.out.println(num);
}
结果如下:
3
3
2
7
8
特别地
Math.floor():向下取整
Math.ceil():向上取整
Math.round():四舍五入
3、生成 0<= num <=n 的随机数
(int)(Math.random()*(n+1))
例如:0<=num<=10
for (int i = 0; i < 5; i++) {
int num = (int)(Math.random()*(10+1));
System.out.println(num);
}
结果如下:
5
10
5
1
3
4、生成n位随机数(实测发现第一位不会是0)
生成4位随机数
(int)((Math.random()*9+1)*1000)
for (int i = 0; i < 5; i++) {
int num = (int)((Math.random()*9+1)*1000);
System.out.println(num);
}
结果如下:
1920
8395
5094
9103
6865
生成5位随机数
(int)((Math.random()*9+1)*10000)
for (int i = 0; i < 5; i++) {
int num = (int)((Math.random()*9+1)*10000);
System.out.println(num);
}
结果如下:
38109
52360
25660
98461
30001
来源:CSDN
作者:Mr_EvanChen
链接:https://blog.csdn.net/Mr_EvanChen/article/details/104369101