class Test{
public void fun(){
Random r= new Random();
int[] a = new int[name.length];
//int index1 =0;//数组下标。
int index2;//该变量用于接收产生的随机数。
//需要产生十个随机数,所以需要循环十次。
for (int i =0;i<10 ;i++ ) {
while (true) {
index2 = r.nextInt(a.length)+1;
boolean b =true;//用于控制while循环的结束
for (int j =0;j<a.length ;j++ ) {
if (a[j]==index2) {
b =false;//如果数组a中有和产生的随机数相等的元素,b等于false,while循环不结束,
//接着再产生随机数,再去比较。
}
}
if (b) {//如果数组a中没有和产生的随机数相等的元素,b的值在上一步中没有修改成false,在这一步中
//b等于true,进来以后执行break,结束while循环。
break;
}
}
//a[index1]=index2;//将数据存入数组。
//index1++;//数组下标自增一,用来指定下一个存储数组的位置。
a[i]=index2;//将产生的随机数存入数组a中。
}
//输出存入不同随机数后的a数组。
for (int h = 0;h<a.length ;h++ ) {
System.out.print(a[h]+",");
}
}
}
|
|