Advertisement
Ligh7_of_H3av3n

02. Message Decrypter

Mar 31st, 2024
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.46 KB | None | 0 0
  1. package ZadachiOtIzpita;
  2.  
  3. import java.util.Scanner;
  4. import java.util.regex.Matcher;
  5. import java.util.regex.Pattern;
  6.  
  7. public class MessageDecrypter {
  8.     public static void main(String[] args) {
  9.         Scanner scanner = new Scanner(System.in);
  10.  
  11.  
  12.         int n = Integer.parseInt(scanner.nextLine());
  13.  
  14.         for (int i = 0; i < n; i++) {
  15.             String input = scanner.nextLine();
  16.             String decryptedMessage = validateAndDecrypt(input);
  17.             System.out.println(decryptedMessage);
  18.         }
  19.     }
  20.  
  21.     public static String validateAndDecrypt(String input) {
  22.         String regex = "(?:\\$([A-Z][a-z]{2,})\\$|%([A-Z][a-z]{2,})%): \\[(\\d+)\\]\\|\\[(\\d+)\\]\\|\\[(\\d+)\\]\\|";
  23.         Pattern pattern = Pattern.compile(regex);
  24.         Matcher matcher = pattern.matcher(input);
  25.  
  26.         if (matcher.matches()) {
  27.             String tag = matcher.group(1) != null ? matcher.group(1) : matcher.group(2);
  28.             int num1 = Integer.parseInt(matcher.group(3));
  29.             int num2 = Integer.parseInt(matcher.group(4));
  30.             int num3 = Integer.parseInt(matcher.group(5));
  31.  
  32.             char char1 = (char) num1;
  33.             char char2 = (char) num2;
  34.             char char3 = (char) num3;
  35.  
  36.             String decryptedMessage = String.valueOf(char1) + String.valueOf(char2) + String.valueOf(char3);
  37.  
  38.             return tag + ": " + decryptedMessage;
  39.         } else {
  40.             return "Valid message not found!";
  41.         }
  42.     }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement