Advertisement
Guest User

Untitled

a guest
Jun 20th, 2016
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.36 KB | None | 0 0
  1. import javafx.beans.binding.StringBinding;
  2. import sun.nio.cs.ext.ISCII91;
  3.  
  4. import java.io.BufferedReader;
  5. import java.io.IOException;
  6. import java.io.InputStreamReader;
  7. import java.util.ArrayList;
  8. import java.util.List;
  9. import java.util.regex.Matcher;
  10. import java.util.regex.Pattern;
  11.  
  12. public class Problem03 {
  13.     public static void main(String[] args) throws IOException {
  14.         BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
  15.         String line;
  16.         while (!"Over!".equals(line = sc.readLine())) {
  17.             int number = Integer.parseInt(sc.readLine());
  18.             StringBuilder word = new StringBuilder();
  19.             StringBuilder message = new StringBuilder();
  20.             boolean needToPrint = true;
  21.             boolean hasMessage = false;
  22.             boolean hasMessageEnd = false;
  23.             List<Integer> positions = new ArrayList<>();
  24.  
  25.             for (int i = 0; i < line.length(); i++) {
  26.                 if (Character.isDigit(line.charAt(i)) && !hasMessage) {
  27.                     positions.add(Character.getNumericValue(line.charAt(i)));
  28.                     continue;
  29.                 } else {
  30.                     hasMessage = true;
  31.                 }
  32.  
  33.                 if (Character.isLetter(line.charAt(i)) && !hasMessageEnd) {
  34.                     word.append(line.charAt(i));
  35.                     continue;
  36.                 } else {
  37.                     hasMessageEnd = true;
  38.                 }
  39.  
  40.                 if (!Character.isLetter(line.charAt(i)) && hasMessage && hasMessageEnd) {
  41.                     if (Character.isDigit(line.charAt(i))) {
  42.                         positions.add(Character.getNumericValue(line.charAt(i)));
  43.                     }
  44.                 } else {
  45.                     needToPrint = false;
  46.                 }
  47.             }
  48.  
  49.  
  50.             if (needToPrint) {
  51.                 if (word.length() == number) {
  52.                     for (int i = 0; i < positions.size(); i++) {
  53.                         if (positions.get(i) < word.length()) {
  54.                             message.append(word.charAt(positions.get(i)));
  55.                         } else {
  56.                             message.append(" ");
  57.                         }
  58.                     }
  59.  
  60.                     System.out.printf("%s == %s\n", word.toString(), message.toString());
  61.                 }
  62.             }
  63.  
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement