所以我有一个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