java如何在一个范围内产生多个不等的随机数

时间:2021-12-05 14:45:45

import java.util.Random;

//随机产生0-max之间num个不重复的整数

public class 产生多个不同随机数 {
private static int num,max;
private static int i;
private static int []in;
产生多个不同随机数(int num,int max){
this.num=num;
this.max=max;
in=new int[num];
}

// 产生一个0-max之间的随机数
private void ra(){
in[i]=new Random().nextInt(max);}

// 判定之前是否产生过相同随机数
private boolean exist(){
boolean y=false;
for(int j=0;j<i;j++){
if(in[i]==in[j]){y=true;}
}
return y;
}

//结果
public int[] UnequalRandom(){
for(i=0;i<num;i++){
ra();
if(exist()){i--;}   //如果之前已产生此数,则重新生成X[i]
}
return in;
}

}