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])
熱點內容
