【Java】Math.random()

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
发布了121 篇原创文章 · 获赞 116 · 访问量 39万+

猜你喜欢

转载自blog.csdn.net/Mr_EvanChen/article/details/104369101