Advertisement
damesova

The Final Quest [Mimi]

Apr 15th, 2019
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.26 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Collections;
  3. import java.util.List;
  4. import java.util.Scanner;
  5. import java.util.stream.Collectors;
  6.  
  7. public class _03_TheFinalQuest {
  8.     public static void main(String[] args) {
  9.         Scanner scanner = new Scanner(System.in);
  10.  
  11.         List<String> words = Arrays.stream(scanner.nextLine()
  12.                 .split(" "))
  13.                 .collect(Collectors.toList());
  14.  
  15.         String input = "";
  16.         while (!"Stop".equals(input = scanner.nextLine())) {
  17.  
  18.             String[] line = input.split(" ");
  19.             String command = line[0];
  20.  
  21.             switch (command) {
  22.                 case "Delete":
  23.                     int index = Integer.parseInt(line[1]);
  24.                     if (index < words.size() - 1) {
  25.                         words.remove(index + 1);
  26.                     }
  27.                     break;
  28.                 case "Swap":
  29.                     String word1 = line[1];
  30.                     String word2 = line[2];
  31.  
  32.                     if (words.contains(word1) && words.contains(word2)) {
  33.                         int firstInd = words.indexOf(word1);
  34.                         int secondInd = words.indexOf(word2);
  35.  
  36.                         words.set(firstInd, word2);
  37.                         words.set(secondInd, word1);
  38.                     }
  39.                     break;
  40.                 case "Put":
  41.                     String word = line[1];
  42.                     int putInd = Integer.parseInt(line[2]);
  43.                     if ((putInd - 1) >= 0 && (putInd - 1) <= words.size()) {
  44.                         words.add(putInd - 1, word);
  45.                     }
  46.                     break;
  47.                 case "Sort":
  48.                     Collections.sort(words);
  49.                     Collections.reverse(words);
  50.                     break;
  51.                 case "Replace":
  52.                     String firstW = line[1];
  53.                     String secW = line[2];
  54.                     if (words.contains(secW)) {
  55.                         int ind = words.indexOf(secW);
  56.                         words.set(ind, firstW);
  57.                     }
  58.                     break;
  59.             }
  60.  
  61.         }
  62.  
  63.         String output = words.toString().replaceAll("[\\[,\\]]", "");
  64.         System.out.println(output.trim());
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement