题目:目前有数组 int[] arr = {11, 2, 4, 2, 10, 11},定义一个函数清除该数组的重复元素,返回的数组存储了那些非重复的数组而且不准浪费长度。 即 必须得到的结果是 {11, 2, 4, 10}
/*** Author:Liu Zhiyong* Version:Version_1* Date:2016年6月28日16:09:17* Desc:题目:目前有数组 int[] arr = {11, 2, 4, 2, 10, 11},定义一个函数清除该数组的重复元素,返回的数组存储了那些非重复的数组而且不准浪费长度。     即必须得到的结果是 {11, 2, 4, 10}    分析:     1.确定新数组的长度。原数组的长度减去重复元素个数。*/import java.util.*;class Demo78 { public static int[] getNonRepetitiveElements(int[] arr){    int count = 0;    //先计算出重复元素的个数   for(int i=0; i<arr.length; i++){     for(int j=i+1; j<arr.length; j++){       if(arr[i] == arr[j]){         count ++;           break;        }     }   }   //确定新的数组的长度   int newLength = arr.length - count;   System.out.println("新数组长度:" + newLength);   int index = 0;//定义一个变量记录新数组使用的索引值   //创建一个新的数组    int[] newArr = new int[newLength];    //往新数组里面添加旧数组的元素,存入新数组之前要先判断该元素是否存在新数组中,如果存在了,那么该元素就不要了。    for(int i=0; i<arr.length; i++){     int temp = arr[i];//取出旧数组的元素            boolean flag = false;//定义一个变量用于记住当前元素是否为重复元素,默认不是重复元素     //与新元素数组元素挨个比较其是否存在     for(int j=0; j<newLength; j++){        if(newArr[j] == temp){//元素已经存在新数组中          flag = true;          break;        }     }     //不是重复元素,就把该元素存储到新数组中     if(flag == false){        newArr[index++] = temp;     }   }   return newArr;  } public static void main(String[] args)  {   int[] arr = {11, 2, 4, 2, 10, 11};    System.out.println("清除元素前的旧数组" + Arrays.toString(arr));   int[] newArr = getNonRepetitiveElements(arr);   System.out.println("清除元素后的新数组" + Arrays.toString(newArr));  }}









