5.Java随机数Random类
随机数Random类是在做随机规则时需要用到的类。用途很广,比如随机抽奖,随机密码,随机验证码,随机奖励等,随机数,计算概率等。
1 随机生成一个整数
Random random = new Random();
/** 随机产生一个整数,包括正负数*/
for (int i = 0; i < 100; i++) {
int r = random.nextInt();
System.out.println(r);
}
输出结果
...
...
-652449732
-394876378
-608984380
2017359929
1203463897
606478979
...
...
2 随机生成一定范围内的整数
Random提供的nextInt方法,可生成一个大于等于0 小于指定值的随机数。
/** 随机产生一个正整数,大于等于0 小于指定值*/
for (int i = 0; i < 100; i++) {
int r = random.nextInt(100);
System.out.println(r);
}
如果要生成一个范围值比如,100~200之间随机,采用100加上0到100的随机值就能实现。
for (int i = 0; i < 100; i++) {
int r = 100 + random.nextInt(100);
System.out.println(r);
}
3 随机从数组中取一个值
原理是通过nextInt生成一个随机的索引,然后从数组中获取指定的索引。
/** 随机从数组中取一个值*/
/** 初始化数组*/
int[] arr = new int[100];
for (int i = 0; i < arr.length; i++) {
arr[i] = i + 1000;
}
/** 随机索引*/
int index = random.nextInt(arr.length);
/** 随机值*/
int randomValue = arr[index];
System.out.println(" randomValue " + randomValue);
4 随机生成不重复的值
随机生成指定个数和范围不重复的值,最简单的方法是随机生成一个值,放入HashSet中,利用Set自带的去重功能,实现去重。数量不到就一直随机值,并且放入HashSet,直到数量满足条件。
/** 随机生成指定个数不重复的值*/
HashSet<Integer> set = new HashSet<>();
while (set.size() < 10) {
set.add(random.nextInt(100));
}
for (Integer i : set) {
System.out.println("i " + i);
}
输出结果:
i 33
i 1
i 50
i 20
i 42
i 58
i 12
i 61
i 30
i 15
转载请保留
原文链接.