问题描述
public static void main(String[] args) {
//创建一个产生随机数的对象
Random random = new Random();
int [] array ={3,3,1,4,4,5,9};
int[] duplicate = duplicate(array);
int i1 =0;
//通过random产生随机数组的下标,通过下标调取数组内的元素
i1=random.nextInt(duplicate.length);
System.out.println(duplicate[i1]);
}
public static int[] duplicate(int [] numbers){
int x=-2;
int index=0;
//接收原数组中重复的元素
int [] accept =new int[numbers.length];
//外循环控制比较的次数
for (int i = 0; i < numbers.length; i++) {
//内循环使前一个数和后一个数进行比较,找到数组中重复的元素
for (int j = i+1; j <numbers.length; j++) {
//判断输入的数组是否符合(0——n-1)范围要求
if (numbers[i]>=0&&numbers[i]<=numbers.length){
if(numbers[i]==numbers[j]){
x = numbers [j];
//将重复的元素放入新数组accept中
accept[index]=x;
//累计新数组的长度
index++;
}
}
}
}
int[] arr3 = new int[index];
int temp=0;
//用来将accept数组中的非零元素存放于数组arr3中
for (int i : accept) {
if(i!=0){
arr3[temp]=i;
temp++;
}
}
return arr3;
}
}