public class MyArrays {
static int count = 0;
public static void main(String[] args) {
//1.定义数组
int[] arr = {4,3,1,5,0,6,0,0,6,5,7,6,7,8,4,9,9,0,5,8};
//2.先建立一个长度和原数组相同的数组
int[] arr2 = new int[arr.length];
//3.遍历原数组将不重复的元素放到新数组中
//3.1在遍历时定义临时变量,统计有效元素的个数
for(int i = 0;i<arr.length;i++) {
//判断该元素在新数组中是否存在
if(!containsElement(arr2, arr[i])) {
arr2[count++] = arr[i];
}
}
//4.根据有效元素的个数定义第三个数组
int[] arr3 = new int[count];
//4.1将第二个数组中的元素拷贝到第三个数组中
for(int i = 0;i<count;i++) {
arr3[i] = arr2[i];
}
//打印去重之后的数组
//[1, 2, 3, 5, 6, 7]
//System.out.println(Arrays.toString(arr3));
toString(arr3);
}
public static void toString(int[] arr) {
//[1, 2, 3, 5, 6, 7]
for(int i = 0;i<arr.length;i++) {
if(i==0){
System.out.print("["+arr[i]+", ");
} else if(i==arr.length-1) {
System.out.println(arr[i]+"]");
} else {
System.out.print(arr[i]+", ");
}
}
}
/*
* 判断数组中是否存在某元素
* 存在返回:true
* 不存在返回:false
*/
public static boolean containsElement(int[] arr,int num) {
for(int i = 0;i<count;i++) {
if(arr[i]==num)
return true;
}
return false;
}
} |