- package com.itheima;
- public class Test8 {
- /**8、 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
- * @param args
- */
- public static void main(String[] args) {
- // 测试
- int [] intArray={4,2,4,6,1,2,4,7,8};
- int count=count(intArray);
- int [] endArray=distinctArray(intArray,count);
- System.out.println("去重后的数组为:");
- for(int e:endArray){
- System.out.print(e+",");
- }
- }
- /**生成去重后的数组 tempArray
- * @param intArray
- * @param count 数组元素重复次数 定义新数组长度为原数组intArray.length-count
- * @return
- */
- public static int[] distinctArray(int[ ] intArray,int count){
- int [ ] tempArray=new int[intArray.length-count];
- count=0;
- for(int i=0;i<intArray.length;i++){
- boolean flag =true;
- for(int j=0;j<tempArray.length;j++){
- if(intArray[i]==tempArray[j]){
- flag=false;
- }
- }
- if(flag){
- tempArray[count]=intArray[i];
- count++;
- }
- }
- return tempArray;
- }
-
- /**计算数组中元素重复的次数 如{4,2,4,6,1,2,4,7,8}重复次数为3
- * @param intArray
- * @return
- */
- public static int count(int[] intArray){
- int flag =0;
- for(int i=0;i<intArray.length;i++){
- for(int j=i+1;j<intArray.length;j++){
- if(intArray[i]==intArray[j]){
- flag++;
- break;
- }
- }
- //System.out.println("flag:"+flag) ;
- }
- return flag;
- }
- }
复制代码 有没有更好的?请附上答案
|
|