fork(2) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. Scanner odczyt = new Scanner(System.in);
  13. int t = odczyt.nextInt();
  14.  
  15. while (t-- > 0) {
  16. String dataString = odczyt.next();
  17.  
  18. if (dataString.length() < 8 || dataString.isEmpty()) {
  19. System.out.println("niepoprawny format daty");
  20. } else {
  21. String dzien = dataString.substring(0, 2);
  22. String miesiac = dataString.substring(2, 4);
  23. String rok = dataString.substring(4, dataString.length());
  24. String miesiacliczbowy;
  25. // int dzienInt = Integer.valueOf(dzien);
  26. if (rok.startsWith("0")) {
  27. System.out.println("niepoprawny format daty");
  28. } else {
  29. int podklad = 0;
  30. for (int i = 0; i < dataString.length(); i++) {
  31. if (dataString.charAt(i) != 48 &&
  32. dataString.charAt(i) != 49 &&
  33. dataString.charAt(i) != 50 &&
  34. dataString.charAt(i) != 51 &&
  35. dataString.charAt(i) != 52 &&
  36. dataString.charAt(i) != 53 &&
  37. dataString.charAt(i) != 54 &&
  38. dataString.charAt(i) != 55 &&
  39. dataString.charAt(i) != 56 &&
  40. dataString.charAt(i) != 57) {
  41. podklad++;
  42. }
  43. }
  44. if (podklad > 0 || Long.valueOf(rok) > 2200 || Integer.valueOf(rok) < 1000 || dataString.length() > 20) {
  45. System.out.println("niepoprawny format daty");
  46. } else {
  47.  
  48. if (Integer.valueOf(rok) <= 2200 && Integer.valueOf(rok) >= 1000 && dataString.length() <= 20) {
  49. if (Integer.valueOf(miesiac) == 01 && Integer.valueOf(dzien) <= 31) {
  50. miesiacliczbowy = "stycznia";
  51. System.out.println(dzien + " " + miesiacliczbowy + " " + rok);
  52. } else if (Integer.valueOf(miesiac) == 01 && Integer.valueOf(dzien) >= 31) {
  53. System.out.println("niepoprawny format daty");
  54.  
  55. }
  56. if (Integer.valueOf(miesiac) == 02) {
  57. if (Integer.valueOf(dzien) <= 29 && Integer.valueOf(rok) % 4 == 0 && Integer.valueOf(rok) % 100 != 0) {
  58. miesiacliczbowy = "lutego";
  59. System.out.println(dzien + " " + miesiacliczbowy + " " + rok);
  60. } else if (Integer.valueOf(dzien) <= 28) {
  61. miesiacliczbowy = "lutego";
  62. System.out.println(dzien + " " + miesiacliczbowy + " " + rok);
  63.  
  64. } else {
  65. System.out.println("niepoprawny format daty");
  66. }
  67. }
  68. if (Integer.valueOf(miesiac) == 03 && Integer.valueOf(dzien) <= 31) {
  69.  
  70. miesiacliczbowy = "marca";
  71. System.out.println(dzien + " " + miesiacliczbowy + " " + rok);
  72. } else if (Integer.valueOf(miesiac) == 03 && Integer.valueOf(dzien) >= 31) {
  73. System.out.println("niepoprawny format daty");
  74. }
  75. if (Integer.valueOf(miesiac) == 04 && Integer.valueOf(dzien) <= 30) {
  76.  
  77. miesiacliczbowy = "kwietnia";
  78. System.out.println(dzien + " " + miesiacliczbowy + " " + rok);
  79. } else if (Integer.valueOf(miesiac) == 04 && Integer.valueOf(dzien) >= 30) {
  80. System.out.println("niepoprawny format daty");
  81. }
  82. if (Integer.valueOf(miesiac) == 05 && Integer.valueOf(dzien) <= 31) {
  83.  
  84. miesiacliczbowy = "maja";
  85. System.out.println(dzien + " " + miesiacliczbowy + " " + rok);
  86. } else if (Integer.valueOf(miesiac) == 05 && Integer.valueOf(dzien) >= 31) {
  87. System.out.println("niepoprawny format daty");
  88. }
  89. if (Integer.valueOf(miesiac) == 06 && Integer.valueOf(dzien) <= 30) {
  90.  
  91. miesiacliczbowy = "czerwca";
  92. System.out.println(dzien + " " + miesiacliczbowy + " " + rok);
  93. } else if (Integer.valueOf(miesiac) == 06 && Integer.valueOf(dzien) >= 30) {
  94. System.out.println("niepoprawny format daty");
  95. }
  96. if (Integer.valueOf(miesiac) == 07 && Integer.valueOf(dzien) <= 31) {
  97.  
  98. miesiacliczbowy = "lipca";
  99. System.out.println(dzien + " " + miesiacliczbowy + " " + rok);
  100. } else if (Integer.valueOf(miesiac) == 07 && Integer.valueOf(dzien) >= 31) {
  101. System.out.println("niepoprawny format daty");
  102. }
  103. if (miesiac.equals("08") && Integer.valueOf(dzien) <= 31) {
  104.  
  105. miesiacliczbowy = "sierpnia";
  106. System.out.println(dzien + " " + miesiacliczbowy + " " + rok);
  107. } else if (miesiac.equals("08") && Integer.valueOf(dzien) >= 31) {
  108. System.out.println("niepoprawny format daty");
  109. }
  110. if (miesiac.equals("09") && Integer.valueOf(dzien) <= 30) {
  111.  
  112. miesiacliczbowy = "wrzesnia";
  113. System.out.println(dzien + " " + miesiacliczbowy + " " + rok);
  114. } else if (miesiac.equals("09") && Integer.valueOf(dzien) >= 30) {
  115. System.out.println("niepoprawny format daty");
  116. }
  117. if (Integer.valueOf(miesiac) == 10 && Integer.valueOf(dzien) <= 31) {
  118.  
  119. miesiacliczbowy = "pazdziernika";
  120. System.out.println(dzien + " " + miesiacliczbowy + " " + rok);
  121. } else if (Integer.valueOf(miesiac) == 10 && Integer.valueOf(dzien) >= 31) {
  122. System.out.println("niepoprawny format daty");
  123.  
  124. }
  125. if (Integer.valueOf(miesiac) == 11 && Integer.valueOf(dzien) <= 30) {
  126.  
  127. miesiacliczbowy = "listopada";
  128. System.out.println(dzien + " " + miesiacliczbowy + " " + rok);
  129. } else if (Integer.valueOf(miesiac) == 11 && Integer.valueOf(dzien) >= 30) {
  130. System.out.println("niepoprawny format daty");
  131. }
  132. if (Integer.valueOf(miesiac) == 12 && Integer.valueOf(dzien) <= 31) {
  133.  
  134. miesiacliczbowy = "grudnia";
  135. System.out.println(dzien + " " + miesiacliczbowy + " " + rok);
  136. } else if (Integer.valueOf(miesiac) == 12 && Integer.valueOf(dzien) >= 31) {
  137. System.out.println("niepoprawny format daty");
  138. }
  139.  
  140. } else {
  141. System.out.println("niepoprawny format daty");
  142. }
  143.  
  144. }
  145.  
  146.  
  147. }
  148. }
  149. } // your code goes here
  150. }
  151. }
Success #stdin #stdout 0.09s 29376KB
stdin
5
20101987
31022000
111111111
29022004
29022005

stdout
20 pazdziernika 1987
niepoprawny format daty
niepoprawny format daty
29 lutego 2004
niepoprawny format daty