veronikaaa86

SnowFlake

Feb 25th, 2018
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.04 KB | None | 0 0
  1. package exams.january2018;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.regex.Matcher;
  7. import java.util.regex.Pattern;
  8.  
  9. public class P03_Snowflake {
  10.     public static void main(String[] args) throws IOException {
  11.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  12.  
  13.         String firstLine = reader.readLine();
  14.         String secondLine = reader.readLine();
  15.         String thirdLine = reader.readLine();
  16.         String fourthLine = reader.readLine();
  17.         String fifthLine = reader.readLine();
  18.  
  19.         String surfaceRegex = "^([^a-zA-Z0-9]+)$";
  20.         String mantleRegex = "^([0-9_]+)$";
  21.         String middleRegex = "^([^a-zA-Z0-9]+)([0-9_]+)([a-zA-Z]+)([0-9_]+)([^a-zA-Z0-9]+)$";
  22.  
  23.         Pattern firstSurfacePattern = Pattern.compile(surfaceRegex);
  24.         Matcher firstSurfaceMatcher = firstSurfacePattern.matcher(firstLine);
  25.  
  26.         Pattern firstMantlePattern = Pattern.compile(mantleRegex);
  27.         Matcher firstMantleMatcher = firstMantlePattern.matcher(secondLine);
  28.  
  29.         Pattern middlePattern = Pattern.compile(middleRegex);
  30.         Matcher middleMatcher = middlePattern.matcher(thirdLine);
  31.  
  32.         Pattern secondMantlePattern = Pattern.compile(mantleRegex);
  33.         Matcher secondMantleMatcher = secondMantlePattern.matcher(fourthLine);
  34.  
  35.         Pattern secondSurfacePattern = Pattern.compile(surfaceRegex);
  36.         Matcher secondSurfaceMatcher = secondSurfacePattern.matcher(fifthLine);
  37.  
  38.         boolean firstRow = firstSurfaceMatcher.find();
  39.         boolean secondRow = firstMantleMatcher.find();
  40.         boolean thirdRow = middleMatcher.find();
  41.         boolean fourthRow = secondMantleMatcher.find();
  42.         boolean fifthRow = secondSurfaceMatcher.find();
  43.  
  44.         if (firstRow && secondRow && thirdRow && fourthRow && fifthRow) {
  45.             System.out.println("Valid");
  46.             System.out.println(middleMatcher.group(3).length());
  47.         } else {
  48.             System.out.println("Invalid");
  49.         }
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment