import java.util.Arrays;
/*
* 作用: 去除一个数组中的重复元素,以不重复的形式输出
* 实例: 定义一个int类型的一维数组,内容为{6,2,9,6,1,2,6,7,8}
* 去除上面定义的数组中的重复元素,打印最终结果{6, 2, 9, 1, 7, 8}、
* 思路: 定义一个与原数组长度相同的数组,将原数组中数一个个取出放入
* 放入前执行判断,若无重复则,将其添加进数组,并记录添加次数
* 返回这个数组新添加的位数
*/
public class QuChuChongFuYuanSu {
public static void main(String[] args) {
int[] arr = {6,2,9,6,1,2,6,7,8};
int[] newarr = a(arr);
show(newarr);
}
public static int[] a(int[] arr){
//定义新数组
int[] arr0 = new int[arr.length];
//外层循环,取出原数组的数,定义一个数记录添加了几次
int sum = 0;
for(int i = 0; i < arr.length; i++){
if( i == 0) arr0[0] = arr[i];
//放前判断,遍历新数组,创建一个数存储是否有重复元素,默认无重复
boolean have = false;
for( int arr1 : arr0){
if( arr1 == arr[i]){
have = true;
break;
}
}
//若无重复,have依旧为false就添加
if(!have){
arr0[sum] = arr[i];
sum++;
}
}
//全部添加完毕返回一个阶段到sum的数组
return Arrays.copyOfRange(arr0, 0, sum);
}
public static void show(int[] arr){
System.out.print("{");
for(int i = 0; i < arr.length - 1; i++){
System.out.print(arr[i] + ",");
}
System.out.println(arr[arr.length - 1] + "}");
}
}
|