我想将数组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)+" ");
}
}
}
答案 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]);
}