JavaSE中你想看的例子——数组去掉重复数

要求将以下数组中值为 0 的项去掉,其他值存进一个新数组

int[] oldArr = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};

 

package chapter.three;

import java.util.Arrays;

public class Test02 {
    public static void main(String[] args) {
        
        int[] oldArr = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
        //新数组的长度
        int lengths = 0;
        //获取新数组的长度
        for (int i = 0; i < oldArr.length; i++) {
            if (oldArr[i] != 0) {
                lengths++;
            }
        }
        //获取到新数组长度后,创建新数组
        int[] newArr = new int[lengths];
        //用自己的j,不用i,是因为旧数组有可能比新数组长,而导致溢出
        int j = 0;
        //循环将不为0的值存进新数组
        for (int i = 0; i < oldArr.length; i++) {
            if (oldArr[i] != 0) {
                newArr[j] = oldArr[i];
                j++;
            }
        }
        System.out.println(Arrays.toString(newArr));    
    }
}

 

        结果:
           [1, 3, 4, 5, 6, 6, 5, 4, 7, 6, 7, 5]

 

posted @ 2017-05-06 11:16  Java_皮卡丘漏电  阅读(152)  评论(0编辑  收藏  举报