-1
我有兩個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);
}
}
你爲什麼要發佈兩個答案? –