Advertisement
desislava_topuzakova

Untitled

Mar 23rd, 2023
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. package ExamPreparation1;
  2.  
  3. import java.util.ArrayDeque;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. import java.util.Scanner;
  7. import java.util.regex.Matcher;
  8. import java.util.regex.Pattern;
  9.  
  10. public class SecondTask_02 {
  11. public static void main(String[] args) {
  12. Scanner scanner = new Scanner(System.in);
  13. String input = scanner.nextLine(); //първоначален текст
  14.  
  15. long coolThreshold = 1; //праг на готиност = стойност, която трябва да постигнем
  16. //умножим всички цифри в първоначалния текст
  17.  
  18. for (char symbol : input.toCharArray()) {
  19. if (Character.isDigit(symbol)) {
  20. //'1'-> "1" -> 1
  21. int number = Integer.parseInt(symbol + "");
  22. coolThreshold *= number;
  23. }
  24. }
  25. System.out.println("Cool threshold: " + coolThreshold);
  26.  
  27. String regex = "([:]{2}|[*]{2})(?<emoji>[A-Z][a-z]{2,})(\\1)";
  28. Pattern pattern = Pattern.compile(regex);
  29. Matcher matcher = pattern.matcher(input);
  30. //съвкупност от текстовете, които отговарят на шаблон = валидните емоджита
  31. //matcher = ["::Smiley::", "**Tigers**", "::Mooning::"]
  32.  
  33. int countValidEmojis = 0; //брой на въведените валидни емоджита
  34. List<String> coolEmojis = new ArrayList<>(); //най-готини емоджита
  35.  
  36. while (matcher.find()) { //true -> намерено валидно емоджи
  37. //1. емоджи -> валидно -> броим
  38. countValidEmojis++;
  39. //2. намирам колко е готино
  40. int coolLevelCurrentEmoji = 0; //ниво на готиност на текущото емоджи
  41. String emoji = matcher.group("emoji");
  42. for (char symbol : emoji.toCharArray()) {
  43. coolLevelCurrentEmoji += (int) symbol;
  44. }
  45. //3. поверявам дали е достатъчно готино (coolest >= coolThreshold)
  46. if (coolLevelCurrentEmoji >= coolThreshold) {
  47. coolEmojis.add(matcher.group());
  48. }
  49. }
  50.  
  51. System.out.printf("%d emojis found in the text. The cool ones are:%n", countValidEmojis);
  52. coolEmojis.forEach(System.out::println);
  53.  
  54.  
  55.  
  56.  
  57. }
  58. }
  59.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement