我有两个arraylists
个名字。我想比较两者。如果第一个数组中的名称等于第二个数组中的名称,我想创建一个名为“name j”的文本文件,其中j是找到匹配名称的索引。现在它似乎能够找到两个匹配的名称,但不能找到最后一个。我不确定为什么找不到最后一个。
这是我的代码:
ArrayList <String> names = new ArrayList ();
names.add("Stephen");
names.add("James");
names.add("Billy");
names.add("Connor");
names.add("Katie");
ArrayList <String> names2 = new ArrayList();
names2.add("Carlos");
names2.add("Katie");
names2.add("James");
names2.add("Cameron");
names.add("Blly");
int i,j;
i=0;
j=0;
int nameSize = names.size();
int names2Size = names2.size();
int checkMatches=0;
// boolean endOfList = false;
while (i<nameSize) {
if (names.get(i).equals(names2.get(j))) {
//increase i b/c of match
System.out.println("Match " + names.get(i));
infoToFile(j,i,names);
i++;
} else if (j == names2Size-1) {
System.out.println("No Match");
i++;
j=0;
} else {
System.out.println("No Match");
j++;
}
}
public static void infoToFile(int j,int i,ArrayList <String> names) {
Writer output;
try {
output = new BufferedWriter(new FileWriter("name " + j + ".txt",true));
output.append(names.get(i) + "\n");
output.close();
} catch (IOException ex) {
Logger.getLogger(RosterPractice.class.getName()).log(Level.SEVERE, null, ex);
}
}