Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- /**
- * Created by Stella on 6/19/2016.
- */
- public class CubicMessage {
- public static void main(String[] args) throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- String line = reader.readLine();
- while (!line.equals("Over!")) {
- int length = Integer.parseInt(reader.readLine());
- String regex = String.format("^\\s*(\\d+)([a-zA-Z]{%d})", length);
- Pattern pattern = Pattern.compile(regex);
- Matcher matcher = pattern.matcher(line);
- boolean isValid = true;
- ArrayList<Integer> indexes = new ArrayList<>();
- if (matcher.find()) {
- String str = matcher.group(2);
- int index = line.lastIndexOf(str) + length;
- String newStr = line.substring(index, line.length());
- for (int i = 0; i < newStr.length(); i++) {
- if (Character.isAlphabetic(newStr.charAt(i))) {
- isValid = false;
- break;
- } else if (Character.isDigit(newStr.charAt(i))) {
- indexes.add(Integer.valueOf(String.valueOf(newStr.charAt(i))));
- }
- }
- if (isValid) {
- String temp = matcher.group(1);
- for (int i = 0; i < temp.length(); i++) {
- indexes.add(i, Integer.valueOf(String.valueOf(temp.charAt(i))));
- }
- StringBuilder verif = new StringBuilder();
- for (int i = 0; i < indexes.size(); i++) {
- int ind = indexes.get(i);
- if (ind >= 0 && ind < str.length()) {
- verif.append(str.charAt(ind));
- } else if (ind < 0 || ind >= str.length()) {
- verif.append(" ");
- }
- }
- System.out.printf("%s == %s%n", str, verif.toString());
- }
- }
- line = reader.readLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement