所以我有一個ArrayList
稱爲originalList
,看起來像下面這樣:有人可以幫我糾正這個java循環。它是如此接近是正確的
[鍋,小睡,盆,坐,它,TIS,卡]
我也有一個稱爲ArrayList
modifiedList
它看起來像
[ANPs的,航行計劃,OPST,IST,IST,IST,航行計劃]
修改列表取原始列表,刪除標點符號並對其進行排序。這個程序的目的是輸入一個輸入(originalList
)並查看輸入中是否有字符。字謎是由相同字母組成的單詞。我的循環打印出anagrams時出現問題。這裏的循環:
for (int i=0; i<modifiedList.size();i++){
System.out.print(originalList.get(i));
for (int j=i+1;j<modifiedList.size();j++){
if (modifiedList.get(i).contentEquals(modifiedList.get(j))){
System.out.print(" "+ originalList.get(j));
originalList.remove(j);
modifiedList.remove(j);
}
}System.out.println();
}
當我運行的循環,我得到以下幾點:
pans naps snap
pots
sit it's
tis
一切都是正確的,除了TIS未被列爲坐的字謎,它的。這是使用modifiedList.remove(j)
的原因,它導致第二個循環在它到達tis之前退出,並且tis從不打印座標和它。 modifiedList.remove(j)是必要的,以便在輸出中不重複單詞。我該如何解決這個問題,以便將它列爲靜坐的字謎,它是?
不錯,這是最簡單的修復 – user2012751 2013-03-10 02:28:27