62,614
社区成员
发帖
与我相关
我的任务
分享
import java.util.Arrays;
import java.util.Random;
public class Test {
public static void main(String[] args){
System.out.println(Arrays.toString(getNums(10)));
}
static int[] getNums(int n){
int[] arrays = new int[n];
//顺序赋值
for(int i = 0;i < arrays.length;i++){
arrays[i] = i;
}
//洗牌
Random ran = new Random();
for(int i = 0;i < arrays.length;i++){
int index = ran.nextInt(n);//随机生成一个下标
//交换
int temp = arrays[index];
arrays[index] = arrays[i];
arrays[i] = temp;
}
return arrays;
}
}
final int len = 10;
Random rand = new Random();
int[] array = new int[len];
for(int i=0;i<len;i++){//遍历数组,填写随机数。
int r = rand.nextInt(len);
boolean old = false;//声明是否重复的标示符,重复时值为真。
do{//循环检查新生成的随机数,直到它真的不是重复的为止
old = false;//假设填写的随机数不是重复的
for(j=0;j<i;j++){//遍历以前生成的数字,看有没有与当前重复的
if(array[j]==r){
old=true;//设置当前数,是重复的。
r = rand.nextInt(len);//重新获取新随机数。
break;
}
}
}while(old);
array[i] = r;//为数组添加新元素
}