将一个数组中的重复元素保留一个其他的清零(Java)

本题目比较简单,但有小错误可能会犯,流程图及代码如下:

Created with Raphaël 2.1.0 开始 int[]a={} int i=0 i<a.length int j=0 j<a.length a[i]==a[j]&&i!=j a[j]=0 j++ 输出 结束 yes no yes no yes no

package homework;

public class Test8 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int [] a={
  1,2,2,3};
        for (int i = 0; i < a.length; i++) {
        for (int j = 0; j < a.length; j++) {
                if (a[i]==a[j]&&i!=j) //这里注意千万不要让元素比较自身,否则都是零了
                {
                    a[j]=0;
                }
            }
        }
        for (int i : a) {
            System.out.println(i);
        }
    }
}

另外,让代码变整齐的快捷键是Ctrl+i ,用之前记得全选,全选的快捷键是Alt+A
吐槽一下:为什么MarkDown自带的流程图可以把流程图画得这么丑?真的是远远不如自己用Edraw画

    原文作者:恒宝乐园
    原文地址: https://blog.csdn.net/hengbao4/article/details/52137500
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞