Spaces:
Running
Running
TurkuBasicOOPinJava / Week 3: Objects, files and exceptions /4. Remove negative numbers - get, remove
| Write the method | |
| void removeNegatives(ArrayList<Integer> 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<Integer> 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: | |
| [] | |
| [] | |
| ============================ | |
| 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<Integer> 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<Integer> 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: | |
| [] | |
| List after: | |
| [] | |
| List before: | |
| [] | |
| List after: | |
| [] | |
| List before: | |
| [-2, 4, -6, 8, -10] | |
| List after: | |
| [] | |
| List before: | |
| [-9, -1, -8, 2, 7, 3, -6, -4] | |
| List after: | |
| [] | |