Advertisement
AngelKejov

WorldTour

Aug 3rd, 2021
79
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.company;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class Main {
  6.  
  7.     public static void main(String[] args) {
  8.         Scanner sc = new Scanner(System.in);
  9.  
  10.         String stops = sc.nextLine();
  11.         while (true) {
  12.             String commands = sc.nextLine();
  13.             if (commands.equals("Travel")) {
  14.                 System.out.print("Ready for world tour! Planned stops: " + stops);
  15.                 break;
  16.             }
  17.             String[] tokens = commands.split(":");
  18.             String command = tokens[0];
  19.             switch (command) {
  20.                 case "Add Stop":
  21.                     int index = Integer.parseInt(tokens[1]);
  22.                     String string = tokens[2];
  23.                     if (isValidIndex(index, string)) {
  24.                         stops = insertString(stops, string, index);
  25.                     }
  26.                     break;
  27.                 case "Remove Stop":
  28.                     int startIndex = Integer.parseInt(tokens[1]);
  29.                     int endIndex = Integer.parseInt(tokens[2]);
  30.                     if (isValidIndex(startIndex, stops) && isValidIndex(endIndex, stops)) {
  31.                         String remove = stops.substring(startIndex, endIndex + 1);
  32.                         stops = stops.replace(remove, "");
  33.                     }
  34.                     break;
  35.                 case "Switch":
  36.                     String oldString = tokens[1];
  37.                     String newString = tokens[2];
  38.                     if (stops.contains(oldString)) {
  39.                         stops = stops.replace(oldString, newString);
  40.                     }
  41.                     break;
  42.             }
  43.             System.out.println(stops);
  44.         }
  45.     }
  46.     private static boolean isValidIndex(int index, String str) {
  47.         boolean isValid;
  48.         isValid = index < str.length() || index > 0;
  49.         return isValid;
  50.     }
  51.  
  52.     public static String insertString(String originalString, String stringToBeInserted,
  53.                                       int index) {
  54.         String newString = originalString.substring(0, index)
  55.                 + stringToBeInserted
  56.                 + originalString.substring(index);
  57.         return newString;
  58.     }
  59. }
  60.  
Advertisement
Advertisement
Advertisement
RAW Paste Data Copied
Advertisement