borovaneca

SecretChat

Mar 28th, 2023
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.08 KB | None | 0 0
  1. package Demo;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6.  
  7. public class SecretChat {
  8.     public static void main(String[] args) throws IOException {
  9.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  10.  
  11.  
  12.         StringBuilder sBuilder = new StringBuilder();
  13.         sBuilder.append(br.readLine());
  14.  
  15.         String command;
  16.  
  17.         while (!"Reveal".equals(command = br.readLine())) {
  18.  
  19.             String[] tokens = command.split(":\\|:");
  20.             String currentCommand = tokens[0];
  21.             boolean printedError = false;
  22.  
  23.             if (currentCommand.equals("InsertSpace")) {
  24.                 int index = Integer.parseInt(tokens[1]);
  25.                 sBuilder.insert(index, " ");
  26.  
  27.             } else if (currentCommand.equals("Reverse")) {
  28.                 String substring = tokens[1];
  29.                 if (sBuilder.toString().contains(substring)) {
  30.                     String reversed = new StringBuilder(substring).reverse().toString();
  31.  
  32.                    int firstIndex = sBuilder.indexOf(substring);
  33.                    int lastIndex = firstIndex + (substring.length());
  34.  
  35.                    sBuilder.replace(firstIndex, lastIndex, "");
  36.                    sBuilder.append(reversed);
  37.  
  38.                 } else {
  39.                     System.out.println("error");
  40.                     printedError = true;
  41.                 }
  42.  
  43.             } else if (currentCommand.equals("ChangeAll")) {
  44.                 String substring = tokens[1];
  45.                 String newText = tokens[2];
  46.  
  47.                 while (sBuilder.toString().contains(substring)) {
  48.                     int firstIndex = sBuilder.indexOf(substring);
  49.                     int lastIndex = firstIndex + (substring.length());
  50.  
  51.                     sBuilder.replace(firstIndex, lastIndex, newText);
  52.                 }
  53.             }
  54.             if (!printedError) {
  55.                 System.out.println(sBuilder.toString());
  56.             }
  57.         }
  58.         System.out.println("You have a new text message: " + sBuilder.toString());
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment