第一种方法:二维数组
public class Test6 {
public static void main(String[] args) {
int[][] a = new int[2][100]; //生成一个二维数组,一行二列
for(int i = 0; i < 100; i++){
a[1][i] = 0; //第二行作为标记行
}
int n = 0;
while(n < 100){
int temp = (int) (Math.random()* 100 + 1);
if(a[1][temp - 1] == 0){ //如果第二行的相应下标的数字为0说明可以赋值
a[0][n] = temp;
a[1][temp - 1] = 1; //赋值完成之后重新赋值为1
n++;
}
}
for(int i = 0; i < 100; i++){
System.out.print(a[0][i] + " ");
if((i + 1) % 10 == 0){
System.out.println();
}
}
}
}
第二种方法:Set接口
public static void main(String[] args) {
Set<Integer> s = new HashSet<>();
int i = 0;
while(i < 100){
int temp = (int) (Math.random() * 100 + 1);
if(s.add(temp)){
i++;
}
}
}