找到非重复元素。代码不打印任何东西

时间:2015-02-23 11:02:41

标签: java loops for-loop unique

我想将数组A中的唯一元素添加到列表L. 此代码不会打印任何内容。请告诉我我哪里出错了。

    import java.util.*;

    public class Unique {
    public static void main(String[] args){


            List<Integer> L = new LinkedList<>();
            int[] A = {3,3,9,1,6,5,8,1,5,3};
            int[] B = {3,3,9,1,6,5,8,1,5,3};

            int count =0;
            //outer loop

            for(int i=0;i<A.length;i++){
            //inner loop
                for(int j=0;j<B.length;j++){
                    if(A[i]== B[j])count++;
                    }
                if(count==1) L.add(A[i]);
                }
            for(int i =0;i<L.size();i++){
                System.out.print(L.get(i)+" ");
            }
    }
}

1 个答案:

答案 0 :(得分:1)

将内线下方的线移动到内圈:

 int count = 0;

您的最终代码将是:

    // outer loop
    for (int i = 0; i < A.length; i++) {
        int count = 0;

        // inner loop
        for (int j = 0; j < B.length; j++) {
            if (A[i] == B[j])
                count++;
        }
        if (count == 1)
            L.add(A[i]);
    }

输出

9 6 8 

或者,您也可以像这样编写代码:

    int count;

    // outer loop
    for (int i = 0; i < A.length; i++) {
        count = 0;

        // inner loop
        for (int j = 0; j < B.length; j++) {
            if (A[i] == B[j])
                count++;
        }
        if (count == 1)
            L.add(A[i]);
    }