這是很難解釋,但基本的想法是,我們有2個ArrayLists。您將List 1與List 2進行比較,如果條目匹配,則打印Array List +1,如果不是,則只返回Array List 1中的元素。比較工作正常,但問題在於打印出結果。當我只想要一個或另一個時,我的原始設計會打印出翻譯和原始單詞。這是原來的設計:爪哇麻煩與循環
public void compareLists(){
String nameSearch;
for(PirateDictionary w: words){
nameSearch = w.toString();
Iterator<Phrase> it = phrases.iterator();
while(it.hasNext())
{
Phrase c = it.next();
if (c.getName().equals(nameSearch)) {
System.out.println(it.next().toString());
}
}
System.out.println(w.toString());
}
}
下面是一個不同的嘗試,我敢肯定,這是一個更接近,因爲你想要做一個或另一個,第一個設計總是既包括所以我認爲,一個循環必須在這裏使用,但我不完全知道如何實現它。
for(PirateDictionary w: words){
nameSearch = w.toString();
Iterator<Phrase> it = phrases.iterator();
Phrase c = it.next();
if(w.toString().equals(c.getName())){
while(it.hasNext())
{
if (c.getName().equals(nameSearch)) {
System.out.println(it.next().toString());
}
}
}
else{
System.out.println(w.toString());
}
}
你想爲迭代器中的每個元素打印一個或另一個嗎? – Andrew
如果列表1和列表2匹配,我希望它打印列表2 +1,因此可以說列表1中的女人與列表2中的女人匹配,那麼您將要打印女人+1,這是'女人'。目前,只有當我只想要翻譯時,我只能打印出女性和女性。 –