desislava_topuzakova

01. Secret Chat

Nov 24th, 2023
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.74 KB | None | 0 0
  1. package examPreparation;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class ThirdTask {
  6. public static void main(String[] args) {
  7. Scanner scanner = new Scanner(System.in);
  8.  
  9. String message = scanner.nextLine();
  10. StringBuilder messageBuilder = new StringBuilder(message); //място за обработка на съобщението
  11. String input = scanner.nextLine();
  12.  
  13. while (!input.equals("Reveal")) {
  14. //input = "InsertSpace:|:{index}".split(":|:") -> ["InsertSpace", "{index}"]
  15. //input = "Reverse:|:{substring}".split(":|:") -> ["Reverse", "{substring}"]
  16. //input = "ChangeAll:|:{substring}:|:{replacement}".split(":|:") -> ["ChangeAll", "{substring}", "{replacement}"]
  17. String[] commandParts = input.split(":\\|:");
  18. String commandName = commandParts[0]; //име на команда: "InsertSpace", "Reverse", "ChangeAll"
  19.  
  20. switch (commandName) {
  21. case "InsertSpace":
  22. int index = Integer.parseInt(commandParts[1]);
  23. messageBuilder.insert(index, " ");
  24. System.out.println(messageBuilder);
  25. break;
  26. case "Reverse":
  27. String substring = commandParts[1]; //съобщение за махане
  28. if (messageBuilder.toString().contains(substring)) {
  29. //1. махаме текста от съобщението
  30. int indexOfSubstring = messageBuilder.indexOf(substring);
  31. messageBuilder.delete(indexOfSubstring, indexOfSubstring + substring.length() + 1);
  32. //2. reverse
  33. String reversedSubstring = new StringBuilder(substring).reverse().toString();
  34. //3. добавяме обърнатия текст в края на съобщението
  35. messageBuilder.append(reversedSubstring);
  36.  
  37. System.out.println(messageBuilder);
  38. } else {
  39. System.out.println("error");
  40. }
  41. break;
  42. case "ChangeAll":
  43. String textForReplace = commandParts[1];
  44. String replacementText = commandParts[2];
  45. messageBuilder = new StringBuilder(messageBuilder.toString().replaceAll(textForReplace, replacementText));
  46. System.out.println(messageBuilder);
  47. break;
  48. }
  49.  
  50. input = scanner.nextLine();
  51. }
  52.  
  53. System.out.println("You have a new text message: " + messageBuilder);
  54.  
  55. }
  56. }
  57.  
Advertisement
Add Comment
Please, Sign In to add comment