言い換えれば、配列は単語= {"a"、 "the"、 "if"、 "are"、 "it"、 "is"}であり、このような文字列{「テーブルはここにあります」、「書籍は販売されています」、「判読可能な場合」}が含まれています。配列のすべての単語をarrayListから削除したい。 予想される出力は、{"table here"、 "books sold"、 "readable"}のようにArrayListになります。java:ArrayListから単語を削除する<String>
私はこれまでのところ、これを試してみました:
public static void main(String[] args) {
String[] words = {"a","the","in","if","are","it","is"};
List<String> wordList = new ArrayList<String>(Arrays.asList(words));
String[] tArray = {"a table is here", "books are sold","if it is readable"};
List<String> list = new ArrayList<String>(Arrays.asList(tArray));
for (int i = 0; i < list.size(); i++) {
String[] tArrays = list.get(i).split(" ");
List<String> line = new ArrayList<String>(Arrays.asList(tArrays));
for (int c = 0; c < wordList.size(); c++) {
if (wordList.get(c).equals(line.get(i))) {
line.remove(i);
i--;
break;
}
}//end for
list.set(i, String.join(" ", line));
}//end for
for(String string : list)
{
System.out.println(string);
}
}
が、期待される出力を与えていません。代わりに "java.lang.ArrayIndexOutOfBoundsException:-1"というエラーが返されます
コードをデバッグしようとしましたが、どの行で例外が発生し、値が負になるのかをチェックしましたか? – dbf
"line.size()"を使用して、 ""に基づいて分割したすべての単語を反復する計画。 – nullpointer
@dbfおそらく "i--;"私はそれをデバッグしようとしました.. –