fork download
  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3. public class Main {
  4.  
  5. public static void main(String[] args) {
  6.  
  7. String textPoems1 = "Часов однообразный бой," +
  8. " Томительная ночи повесть!!!" +
  9. " Язык для всех равно чужой" +
  10. " И внятный каждому, как совесть!";
  11.  
  12. String textPoems2 = "Ура! мы ломим; гнутся шведы." +
  13. " О славный час! о славный вид!" +
  14. " Еще напор - и враг бежит." +
  15. " И следом конница" +
  16. " Пустилась." +
  17. " Убийством тупятся мечи," +
  18. " И падшими вся степь" +
  19. " Покрылась." +
  20. " Как роем черной саранчи.";
  21.  
  22. String textPoems3 = "Ура! мы ломим; гнутся шведы!" +
  23. " О славный час! о славный вид!" +
  24. " Еще напор - и враг бежит." +
  25. " И следом конница" +
  26. " Пустилась!" +
  27. " Убийством тупятся мечи," +
  28. " И падшими вся степь" +
  29. " Покрылась!!" +
  30. " Как роем черной саранчи!";
  31.  
  32. String poem = textPoems1 + " **************** " + textPoems2 + "********" + textPoems3+"****"+textPoems1;
  33.  
  34.  
  35.  
  36. Pattern pattern = Pattern.compile("[^\\*]+");
  37. Pattern p = Pattern.compile("!+");
  38. Matcher matcher = pattern.matcher(poem);
  39. int maxCount = -1; //заведомо низкое значение
  40. String maxPoem = null;
  41.  
  42. while (matcher.find()) {
  43. int i = 0;
  44.  
  45.  
  46. System.out.println("Текущий стих: "+matcher.group());
  47. Matcher m = p.matcher(matcher.group());
  48.  
  49. while (m.find()) {
  50. i++;
  51. }
  52.  
  53.  
  54. System.out.println("Количество !: "+i);
  55. if(i > maxCount) {
  56. maxCount = i;
  57. maxPoem = matcher.group();
  58. }
  59. }
  60. System.out.println("Максимальный стих: "+maxPoem);
  61. System.out.println("Максимальное количество !: "+maxCount);
  62. }
  63. }
Success #stdin #stdout 0.04s 2249728KB
stdin
Standard input is empty
stdout
Текущий стих: Часов однообразный бой, Томительная ночи повесть!!! Язык для всех равно чужой И внятный каждому, как совесть! 
Количество !: 2
Текущий стих:  Ура! мы ломим; гнутся шведы. О славный час! о славный вид! Еще напор - и враг бежит. И следом конница Пустилась. Убийством тупятся мечи, И падшими вся степь Покрылась. Как роем черной саранчи.
Количество !: 3
Текущий стих: Ура! мы ломим; гнутся шведы! О славный час! о славный вид! Еще напор - и враг бежит. И следом конница Пустилась! Убийством тупятся мечи, И падшими вся степь Покрылась!! Как роем черной саранчи!
Количество !: 7
Текущий стих: Часов однообразный бой, Томительная ночи повесть!!! Язык для всех равно чужой И внятный каждому, как совесть!
Количество !: 2
Максимальный стих: Ура! мы ломим; гнутся шведы! О славный час! о славный вид! Еще напор - и враг бежит. И следом конница Пустилась! Убийством тупятся мечи, И падшими вся степь Покрылась!! Как роем черной саранчи!
Максимальное количество !: 7