int[] intRet = new int[10]; int intRd = 0; //存放随机数 int count = 0; //记录生成的随机数个数 int flag = 0; //是否已经生成过标志 while(count<10){ Random rdm = new Random(System.currentTimeMillis()); intRd = Math.abs(rdm.nextInt())%10; for(int i=0;i<count;i++){ if(intRet[i]==intRd){ flag = 1; break; }else{ flag = 0; } } if(flag==0){ intRet[count] = intRd; count++; } } for(int t=0;t<10;t++){ System.out.print(intRet[t]+" "); }
先顺序生成数组,然后依次选出每一个数和另外一个数(该数的位置是随机生成的0~9)交换位置即可.import java.util.Random; public class Rand { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[] a = new int[]{0,1,2,3,4,5,6,7,8,9}; Random rand = new Random(System.currentTimeMillis()); int index = 0; int temp = 0; for (int i = 0; i < 10; i ++){ index = Math.abs(rand.nextInt() % 10); // System.out.println(index); temp = a[i]; a[i] = a[index]; a[index] = temp; } for (int i = 0; i < 10; i ++){ System.out.print(" " + a[i]); } } }
int intRd = 0; //存放随机数
int count = 0; //记录生成的随机数个数
int flag = 0; //是否已经生成过标志
while(count<10){
Random rdm = new Random(System.currentTimeMillis());
intRd = Math.abs(rdm.nextInt())%10;
for(int i=0;i<count;i++){
if(intRet[i]==intRd){
flag = 1;
break;
}else{
flag = 0;
}
}
if(flag==0){
intRet[count] = intRd;
count++;
}
}
for(int t=0;t<10;t++){
System.out.print(intRet[t]+" ");
}
public class Rand { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = new int[]{0,1,2,3,4,5,6,7,8,9};
Random rand = new Random(System.currentTimeMillis());
int index = 0;
int temp = 0;
for (int i = 0; i < 10; i ++){
index = Math.abs(rand.nextInt() % 10);
// System.out.println(index);
temp = a[i];
a[i] = a[index];
a[index] = temp;
}
for (int i = 0; i < 10; i ++){
System.out.print(" " + a[i]);
}
}
}