Advertisement
IrinaIgnatova

Last Stop

Jun 26th, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.61 KB | None | 0 0
  1. package com.company;
  2.  
  3.  
  4. import java.util.ArrayList;
  5. import java.util.Collections;
  6. import java.util.List;
  7. import java.util.Scanner;
  8.  
  9. public class Main {
  10.  
  11.     public static void main(String[] args) {
  12.         Scanner scanner = new Scanner(System.in);
  13.         String[] input = scanner.nextLine().split(" +");
  14.         List<Integer> numbers = new ArrayList<>();
  15.         for (int i = 0; i < input.length; i++) {
  16.             numbers.add(Integer.valueOf(input[i]));
  17.         }
  18.  
  19.         String command = scanner.nextLine();
  20.         while (!command.equals("END")) {
  21.             String[] tokens = command.split(" +");
  22.             String instruction = tokens[0];
  23.  
  24.             if (instruction.contains("Insert")) {
  25.                 int paintingNumber = Integer.valueOf(tokens[2]);
  26.                 int index = Integer.valueOf(tokens[1]) + 1;
  27.                 if (index >= 0 && index < numbers.size()) {
  28.                     numbers.add(index, paintingNumber);
  29.  
  30.                 }
  31.             } else if (instruction.contains("Switch")) {
  32.                 for (int i = 0; i < numbers.size(); i++) {
  33.                     int switchNumberFirst = Integer.valueOf(tokens[1]);
  34.                     int index1 = numbers.indexOf(switchNumberFirst);
  35.                     int switchNumberSecond = Integer.valueOf(tokens[2]);
  36.                     int index2 = numbers.indexOf(switchNumberSecond);
  37.  
  38.  
  39.                     if (numbers.contains(switchNumberFirst) && numbers.contains(switchNumberSecond)) {
  40.  
  41.                         Collections.swap(numbers, index1, index2);
  42.                         break;
  43.                     }
  44.                 }
  45.  
  46.             } else if (instruction.contains("Hide")) {
  47.                 int numberToRemove = Integer.valueOf(tokens[1]);
  48.                 int indexOfNumberToRemove = numbers.indexOf(numberToRemove);
  49.                 if (numbers.contains(numberToRemove)) {
  50.                     numbers.remove(indexOfNumberToRemove);
  51.                 }
  52.  
  53.             } else if (command.contains("Reverse")) {
  54.                 Collections.reverse(numbers);
  55.             } else if (command.contains("Change")) {
  56.                 int numberToChange = Integer.valueOf(tokens[1]);
  57.                 int indexOfNumberToChange = numbers.indexOf(numberToChange);
  58.                 int newNumber = Integer.valueOf(tokens[2]);
  59.                 if (numbers.contains(numberToChange)) {
  60.                     numbers.set(indexOfNumberToChange, newNumber);
  61.                 }
  62.             }
  63.  
  64.             command = scanner.nextLine();
  65.         }
  66.         for (Integer number : numbers) {
  67.             System.out.print(number + " ");
  68.         }
  69.  
  70.  
  71.     }
  72.  
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement