java不重复的随机数
发布时间: 2025-08-04 19:38:00
❶ random 怎么实现随机数不重复方法 java
java中实现随机数不重复主要思想是使用hashset来保存每个生成的数据,因为set集合本身内部机制实现了不保存相同的数据,代码如下:
/**
*随机指定范围内N个不重复的数
*利用HashSet的特征,只能存放不同的值
*@parammin指定范围最小值
*@parammax指定范围最大值
*@paramn随机数个数
*@paramHashSet<Integer>set随机数结果集
*/
publicstaticvoidrandomSet(intmin,intmax,intn,HashSet<Integer>set){
if(n>(max-min+1)||max<min){
return;
}
for(inti=0;i<n;i++){
//调用Math.random()方法
intnum=(int)(Math.random()*(max-min))+min;
set.add(num);//将不同的数存入HashSet中
}
intsetSize=set.size();
//如果存入的数小于指定生成的个数,则调用递归再生成剩余个数的随机数,如此循环,直到达到指定大小
if(setSize<n){
randomSet(min,max,n-setSize,set);//递归
}
}
❷ JAVA 获取一个四位随机数(并且四位数不重复),并说明原理和算法
每次获取一个一位数的随机数存在一个 int[4]的整型数组,如果新获取的随机数在整型数组中已经存在了,就再获取一次(使用while循环)。然后把int[4]的数转换成四位数(这个应该简单吧,使用sum=sum*10+a[i])
热点内容
