Advertisement
damesova

Grains Of Sands [Mimi]

Mar 7th, 2019
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.41 KB | None | 0 0
  1. package RetakeExam_27Aug2018Part1;
  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 _02_GrainsOfSands {
  9.     public static void main(String[] args) {
  10.         Scanner scanner = new Scanner(System.in);
  11.  
  12.         List<Integer> data = Arrays.stream(scanner.nextLine()
  13.                 .split("\\s+"))
  14.                 .map(Integer::parseInt)
  15.                 .collect(Collectors.toList());
  16.  
  17.         String input = "";
  18.         while (!("Mort".equals(input = scanner.nextLine())) && data.size() > 0) {
  19.             String[] line = input.split("\\s+");
  20.             String command = line[0];
  21.             int value = Integer.parseInt(line[1]);
  22.  
  23.             switch (command) {
  24.                 case "Add":
  25.                     data.add(value);
  26.                     break;
  27.                 case "Remove":
  28.                     if (data.contains(value)) {
  29.                         data.remove(data.indexOf(value));
  30.                     } else {
  31.                         if (value >= 0 && value < data.size()) {
  32.                             data.remove(value);
  33.                         }
  34.                     }
  35.                     break;
  36.                 case "Replace":
  37.                     int replacement = Integer.parseInt(line[2]);
  38.                     if (data.contains(value)) {
  39.                         data.set(data.indexOf(value), replacement);
  40.                     }
  41.                     break;
  42.                 case "Increase":
  43.                     int num = 0;
  44.                     for (int i = 0; i < data.size(); i++) {
  45.                         if (data.get(i) >= value) {
  46.                             num = data.get(i);
  47.                             break;
  48.                         }
  49.                         num = data.get(data.size() - 1);
  50.                     }
  51.  
  52.                     for (int i = 0; i < data.size(); i++) {
  53.                         data.set(i, data.get(i) + num);
  54.                     }
  55.                     break;
  56.                 case "Collapse":
  57.                     for (int i = 0; i < data.size(); i++) {
  58.                         if (data.get(i) < value) {
  59.                             data.remove(i);
  60.                             i--;
  61.                         }
  62.                     }
  63.                     break;
  64.             }
  65.         }
  66.  
  67.         for (Integer element : data) {
  68.             System.out.print(element + " ");
  69.         }
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement