私はJavaが初めてで、1週間以上解決しようとしてきた演習に行き詰まっており、何が間違っているのかわかりません。
ArrayList の最後の要素 (この場合は整数) を削除する必要があります。
問題は、テストを実行しても古い値が返されることです。
public static void removeLastOccurrence(int x, ArrayList<Integer> list) {
if (list != null && !list.isEmpty()) {
list.remove(list.size()-1);
}
}
list.remove(list.lastIndexOf(x));も使用してみました。
しかし、このテストを実行すると、同じリストが返されます。
public class UTest{
@Test
public void testMultipleLast() {
ArrayList<Integer> input = new ArrayList<Integer>(asList(1,1,3,5,7,1,5,9,1));
ArrayList<Integer> result = new ArrayList<Integer>(asList(1,1,3,5,7,1,5,9));
Solution.removeLastOccurence(1, input);
assertEquals(result, input);
}
}
パズルの小さなピースが欠けていると感じているので、かなりイライラしているので、誰かが助けて何が欠けているのか教えてくれたらいいのにと思います.