Advertisement
SotirovG

problem2_MidExam27.03

Mar 4th, 2021
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.62 KB | None | 0 0
  1. package JavaFundamentals.MidExam27_02;
  2.  
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import java.util.Scanner;
  6. import java.util.stream.Collectors;
  7.  
  8. public class Problem2_0 {
  9.     public static void main(String[] args) {
  10.         Scanner scanner = new Scanner(System.in);
  11.  
  12.  
  13.         List<Integer> sugarCubes = Arrays.stream(scanner.nextLine().split("\\s+"))
  14.                 .map(Integer::parseInt).collect(Collectors.toList());
  15.  
  16.         String commands = scanner.nextLine();
  17.  
  18.         while(!commands.equals("Mort")){
  19.             String [] tokens = commands.split("\\s+");
  20.             String command = tokens[0];
  21.  
  22.             switch (command){
  23.                 case "Add":
  24.                     int valueToAdd = Integer.parseInt(tokens[1]);
  25.                     sugarCubes.add(valueToAdd);
  26.                     break;
  27.                 case "Remove":
  28.                     int valueToRemove = Integer.parseInt(tokens[1]);
  29.                     for (int i = 0; i < sugarCubes.size(); i++) {
  30.                         int currentNum = sugarCubes.get(i);
  31.                         if (currentNum == valueToRemove) {
  32.                             int index = sugarCubes.indexOf(currentNum);
  33.                             sugarCubes.remove(index);
  34.                             break;
  35.  
  36.                         }
  37.                     }
  38.                     break;
  39.                 case "Replace":
  40.                     int valueToReplace = Integer.parseInt(tokens[1]);
  41.                     int replacementValue = Integer.parseInt(tokens[2]);
  42.                     for (int i = 0; i < sugarCubes.size(); i++) {
  43.                         int currentNum = sugarCubes.get(i);
  44.                         if (valueToReplace == currentNum){
  45.                             int index = sugarCubes.indexOf(currentNum);
  46.                             sugarCubes.remove(index);
  47.                             sugarCubes.add(index,replacementValue);
  48.                             break;
  49.                         }
  50.  
  51.                     }
  52.                     break;
  53.                 case "Collapse":
  54.                     int value = Integer.parseInt(tokens[1]);
  55.                     for (int i = 0; i < sugarCubes.size(); i++) {
  56.                         int currentNum = sugarCubes.get(i);
  57.                         if (currentNum < value){
  58.                             sugarCubes.remove(Integer.valueOf(currentNum));
  59.                             i--;
  60.                         }
  61.  
  62.                     }
  63.                     break;
  64.             }
  65.             commands = scanner.nextLine();
  66.         }
  67.         System.out.println(sugarCubes.toString().replaceAll("[\\[\\],]", ""));
  68.     }
  69. }
  70.  
  71.  
  72.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement