Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package RegularExpressions.MoreExercises;
- import java.util.Scanner;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class O1WinningTicket {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- String[] input = scanner.nextLine().trim().split(",\\s+");
- Pattern pattern = Pattern.compile("([$]{6,10}|[@]{6,10}|[#]{6,10}|[\\^]{6,10})");
- for (String s : input) {
- if (s.trim().length() != 20) {
- System.out.println("invalid ticket");
- } else {
- String left = s.trim().substring(0, 10);
- String right = s.trim().substring(10, 20);
- Matcher matcher = pattern.matcher(left);
- if (matcher.find()) {
- String matchLeft = matcher.group(1);
- char winType = matchLeft.charAt(0);
- if (matchLeft.length() == 10 && right.contains(matchLeft)) {
- System.out.println("ticket \"" + s.trim() + "\" - 10" + winType + " Jackpot!");
- } else {
- matcher = pattern.matcher(right);
- if (matcher.find()){
- String matchRight = matcher.group(1);
- if (matchLeft.contains(matchRight) || matchRight.contains(matchLeft)){
- int winDigit = Math.min(matchRight.length(),matchLeft.length());
- System.out.println("ticket \"" + s.trim() + "\" - " + winDigit + winType);
- }else{
- System.out.println("ticket \"" + s.trim() + "\" - no match");
- }
- }else{
- System.out.println("ticket \"" + s.trim() + "\" - no match");
- }
- }
- } else {
- System.out.println("ticket \"" + s.trim() + "\" - no match");
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment