Advertisement
purshink

Emoji Detector solution 2

Apr 8th, 2020
357
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.54 KB | None | 0 0
  1.     import org.w3c.dom.ls.LSOutput;
  2.  
  3.     import java.math.BigDecimal;
  4.     import java.util.*;
  5.     import java.util.regex.Matcher;
  6.     import java.util.regex.Pattern;
  7.  
  8.     import java.util.ArrayList;
  9.     import java.util.List;
  10.     import java.util.Scanner;
  11.     import java.util.regex.Matcher;
  12.     import java.util.regex.Pattern;
  13.  
  14.     public class Main {
  15.  
  16.         public static void main(String[] args) {
  17.             Scanner scanner = new Scanner(System.in);
  18.             String input = scanner.nextLine();
  19.             List<String> emojis = new ArrayList<>();
  20.  
  21.  
  22.           //  Pattern pattern2 = Pattern.compile("(:{2}[A-Z][a-z]{2,}:{2})");
  23.             //Pattern pattern3 = Pattern.compile("(\\*{2}[A-Z][a-z]{2,}\\*{2})");
  24.             //->tezi dvete patterns gi kombinirai v edna:
  25.             Pattern pattern = Pattern.compile("([:]{2}|[*]{2})(?<emojy>[A-Z][a-z]{2,})(\\1)");
  26.             Matcher matcher = pattern.matcher(input);
  27.  
  28.             int treshold = 1;
  29.  
  30.  
  31.                 Pattern pattern1 = Pattern.compile("[0-9]");
  32.                 Matcher matcher1 = pattern1.matcher(input);//-> direktno go vzimash ot "input"
  33.             // String[] numbers = input.split("");
  34.             //for (String number : numbers) { -> ne ti trqbva, ako izpolzvash while
  35.             //izpolzvash while, za da vartish prez celiq pattern
  36.                 while (matcher1.find()) {
  37.                     treshold *= Integer.parseInt(matcher1.group(0));
  38.                 }
  39.            // }
  40.             //String[] emojiPickup = input.split(" ");
  41.            // for (int i = 0; i < emojiPickup.length; i++) { -> ne ti trqbva, ako izpolzvash "while"
  42.                 while (matcher.find()) {
  43.                     emojis.add(matcher.group(0)); //-> addvash kam lista celiq pattern, toest group(0);
  44.                 }
  45.            // }
  46.             System.out.println(String.format("Cool threshold: %d", treshold));
  47.             System.out.println(String.format("%s emojis found in the text. The cool ones are:", emojis.size()));
  48.             List<String> coolEmojies = new ArrayList<>();
  49.             for (int j = 0; j < emojis.size(); j++) {
  50.                 int sumLetter = 0;
  51.                 String element = emojis.get(j);
  52.                 for (int k = 0; k < element.length(); k++) {
  53.                     char c = element.charAt(k);
  54.                     if (Character.isLetter(c))
  55.                         sumLetter += c;
  56.                 }
  57.                 if (sumLetter > treshold) {
  58.                     System.out.println(element);
  59.                 }
  60.             }
  61.         }
  62.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement