import java.util.Random;
class Test_Random1 {
public static void main(String[] args) {
Random random = new Random();
int num=10; //随机抽查10个学生的座位号,用数组存储
int[] arr = new int[num];
for (int i=0;true&&arr[num-1]==0 ;i++ ) { //如果数组没存够10个 就一直循环,直到存够为止,(int[]数组默认值为0)
int x = random.nextInt(85)+1; //1-85的随机数 比如座位号
int index=getIndex(arr,x); //去除重复的数 ,查找生成的x是否已存在数组中
if (index==-1) { //如果没有存在,则存进数组
arr[i]=x;
}else{ //否则下标i减一,防止数组下标越界
i--;
}
}
printArr(arr); //打印
}
//查找某个数在数组中出现的第一个位置
public static int getIndex(int[] arr,int key) {
int index=-1;
for (int j=0;j<10&&arr[j]!=0 ;j++ ) {
if(arr[j]==key){
index=j;
break;
}
}
return index;
}
//打印数组
public static void printArr(int[] arr) {
for (int i=0; i<arr.length; i++){
if(i!=arr.length-1) { //只要不是数组中最后一个数,就加上逗号.
System.out.print(arr[i]+",");
} else { //输出最后一个数时就不用加上逗号了
System.out.print(arr[i]);
}
}
}
} |
|