如何用Java生成十个不相等的随机数?

2024年11月19日 04:23
有1个网友回答
网友(1):

最简单最易理解的两重循环去重  

 /**
 * 随机指定范围内N个不重复的数
 * 最简单最基本的方法
 * @param min 指定范围最小值
 * @param max 指定范围最大值
 * @param n 随机数个数
 */
public static int[] randomCommon(int min, int max, int n){
if (n > (max - min + 1) || max < min) {
            return null;
        }
int[] result = new int[n];
int count = 0;
while(count < n) {
int num = (int) (Math.random() * (max - min)) + min;
boolean flag = true;
for (int j = 0; j < n; j++) {
if(num == result[j]){
flag = false;
break;
}
}
if(flag){
result[count] = num;
count++;
}
}
return result;
}