Advertisement
mirozspace

Untitled

Mar 13th, 2019
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.76 KB | None | 0 0
  1. import java.util.*;
  2. import java.util.stream.Collectors;
  3.  
  4. public class Pr3 {
  5.     public static void main(String[] args) {
  6.         Scanner scanner = new Scanner(System.in);
  7.  
  8.         List<String> numbers = Arrays.stream(scanner.nextLine().split("\\s+")).collect(Collectors.toList());
  9.         List<String> result = new ArrayList<>();
  10.  
  11.         String command = scanner.nextLine();
  12.  
  13.         while (!(command.equals("END"))) {
  14.             String[] commandArr = command.split(" ");
  15.  
  16.             switch (commandArr[0]) {
  17.                 case "Insert":
  18.                     result = insert(numbers, Integer.parseInt(commandArr[1]), commandArr[2]);
  19.                     break;
  20.                 case "Switch":
  21.                     result = switchNumbers(numbers, commandArr[1], commandArr[2]);
  22.                     break;
  23.                 case "Hide":
  24.                     result = hide(numbers, commandArr[1]);
  25.                     break;
  26.                 case "Reverse":
  27.                     result = reverse(numbers);
  28.                     break;
  29.                 case "Change":
  30.                     result = change(numbers, commandArr[1], commandArr[2]);
  31.                     break;
  32.  
  33.             }
  34.  
  35.             command = scanner.nextLine();
  36.         }
  37.         System.out.println(printList(result));
  38.     }
  39.  
  40.     private static List<String> change(List<String> numbers, String oldNum, String newNum) {
  41.         if (numbers.contains(oldNum)) {
  42.             int getIndex = numbers.indexOf(oldNum);
  43.             numbers.set(getIndex, newNum);
  44.         }
  45.         return numbers;
  46.     }
  47.  
  48.     private static List<String> reverse(List<String> numbers) {
  49.         Collections.reverse(numbers);
  50.         return numbers;
  51.     }
  52.  
  53.     private static List<String> hide(List<String> numbers, String num) {
  54.         numbers.remove(num);
  55.         return numbers;
  56.     }
  57.  
  58.     private static List<String> switchNumbers(List<String> numbers, String num1, String num2) {
  59.         int indexNum1 = numbers.indexOf(num1);
  60.         int indexNum2 = numbers.indexOf(num2);
  61.         if (indexNum1 != -1 && indexNum2 != -1) {
  62.             String valueNum1 = numbers.get(indexNum1);
  63.             String valueNum2 = numbers.get(indexNum2);
  64.             numbers.remove(num1);
  65.             numbers.remove(num2);
  66.             numbers.add(indexNum1, valueNum2);
  67.             numbers.add(indexNum2, valueNum1);
  68.         }
  69.         return numbers;
  70.     }
  71.  
  72.     private static List<String> insert(List<String> numbers, int position, String numberStr) {
  73.         if (position >= 0 && position <= numbers.size()) {
  74.             numbers.add(position + 1, numberStr);
  75.         }
  76.         return numbers;
  77.     }
  78.  
  79.     private static String printList(List<String> result) {
  80.         return result.toString().replaceAll("[\\[,\\]]", "");
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement