Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Lection8;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Scanner;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class TreasureFinder {
- public static void main(String[] args) {
- Scanner scan = new Scanner(System.in);
- String[] key = scan.nextLine().split("\\s+");
- String line = scan.nextLine();
- List<String> messages = new ArrayList<>();
- while (!line.equals("find")){
- messages.add(line);
- line = scan.nextLine();
- }
- for (int k = 0; k < messages.size(); k++) {
- String encryptedStr = "";
- int j = 0;
- for (int i = 0; i < messages.get(k).length(); i++) {
- char symbol = messages.get(k).charAt(i);
- symbol -= key[j].charAt(0) - '0';
- encryptedStr += symbol;
- j++;
- if (j == key.length){
- j = 0;
- }
- }
- messages.set(k, encryptedStr);
- }
- Pattern treasure = Pattern.compile("&(?<treasure>[A-Za-z]+)&");
- Pattern coordinates = Pattern.compile("<(?<coordinates>[A-Z0-9]+)>");
- for (String message : messages) {
- Matcher matchTreasure = treasure.matcher(message);
- Matcher matchCoord = coordinates.matcher(message);
- if (matchTreasure.find() && matchCoord.find()){
- System.out.println(String.format("Found %s at %s",
- matchTreasure.group("treasure"),
- matchCoord.group("coordinates")));
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement