Write the method void removeNegatives(ArrayList numnbers) ...which removes all numbers less than zero from the list. Tip: the for loop may not work reliably if the iterated structure changes during loop execution - you should use another way to iterate through the list instead. Example method call: public static void main(String[] parameters){ ArrayList numbers = new ArrayList<>(); numbers.add(1); numbers.add(-2); numbers.add(-5); numbers.add(10); System.out.println(numbers); removeNegatives(numbers); System.out.println(numbers); } Program outputs: [1, -2, -5, 10] [1, 10] ============================ import java.util.Random; import java.util.ArrayList; public class Test{ public static void main(String[] args){ final Random r = new Random(); int[][] s = {{1,-2,3}, {10,-20,30,-40}, {-2,4,-6,8,-10}, {-9,-1,-8,2,7,3,-6,-4}}; for (int[] pa : s) { ArrayList lista = new ArrayList<>(); for (int l : pa) lista.add(l); System.out.println("List before: "); System.out.println("" + lista); System.out.println("List after: "); removeNegatives(lista); System.out.println(lista); System.out.println(""); } } // ADD public static void removeNegatives(ArrayList numbers) { for (int i = 0; i < numbers.size(); i++) { if (numbers.get(i) < 0) { numbers.remove(i); // because we remove the current idx // adjust i by 1 (like as if we finished the previous 'i') // System.out.println(i); i--; // System.out.println(i); } } } } // Test1 // List before: // [1, -2, 3] // List after: // 1 // 0 // [1, 3] // List before: // [10, -20, 30, -40] // List after: // 1 // 0 // 2 // 1 // [10, 30] // List before: // [-2, 4, -6, 8, -10] // List after: // 0 // -1 // 1 // 0 // 2 // 1 // [4, 8] // List before: // [-9, -1, -8, 2, 7, 3, -6, -4] // List after: // 0 // -1 // 0 // -1 // 0 // -1 // 3 // 2 // 3 // 2 // [2, 7, 3] List before: [1, -2, 3] List after: [1, 3] List before: [10, -20, 30, -40] List after: [10, 30] List before: [-2, 4, -6, 8, -10] List after: [4, 8] List before: [-9, -1, -8, 2, 7, 3, -6, -4] List after: [2, 7, 3]