package cn.test;
import javax.management.relation.RelationNotFoundException;
import java.util.Arrays;
import java.util.Random;
/**
* 介绍Random类的常规用法
* 构造方法:
* Random()
* Random(long seed)
* 如果创建的两个random对象有相同的seed,那么他们在同样条件下产生的随机数就相同
* 方法:
* int nextInt()
* 随机获取一个int型数据,范围 正负21亿多
* nextInt(a)
* 返回值范围[0, a) 包含0 排a(不包含a)
* nextDouble() (0.0, 1.0)
* nextFloat() (0.0, 1.0)
* nextGaussian() 高斯分布, 平均值为0.0 标准差为1.0
* setSeed(long seed) 设置随机数种子
*
*
*/
public class UsageOfRandom {
public static void main(String[] args) {
Random random = new Random();
int a = random.nextInt();
int[] b = new int[5];
for (int i = 0; i < b.length; i++) {
b[i] = random.nextInt(5);
}
System.out.println("b数组内容为:" + Arrays.toString(b));
double c = random.nextDouble();
float d = random.nextFloat();
// 设置随机数种子
random.setSeed(50);
float seedOld = random.nextFloat();
// 如果我们设置同一个随机数种子,我们看一下随机出来的float值是否相同
Random random1 = new Random(50);
Random random2 = new Random();
System.out.println("相同随机数种子随机float是否相同" + (seedOld == random1.nextFloat()));
System.out.println("seed = 50 下:floa值" + seedOld);
System.out.println("无参构造随机floa值:" + random2.nextFloat());
/**
*输出结果:
b数组内容为:[2, 2, 4, 3, 2]
相同随机数种子随机float是否相同true
seed = 50 下:floa值0.7297136
无参构造随机floa值:0.03141898
*/
}
}
Random的简单使用
最新推荐文章于 2024-09-14 19:27:10 发布
1196

被折叠的 条评论
为什么被折叠?



