fork download
  1. class Ideone
  2. {
  3. private static boolean validDate(String date) {
  4.  
  5. String[] parts = date.split("-");
  6. if (parts.length != 3) return false;
  7.  
  8. if (parts[0].length() != 2) return false;
  9. int day = Integer.parseInt(parts[0]);
  10. if (day < 1 || day > 31) return false;
  11.  
  12. if (parts[1].length() != 2) return false;
  13. int month = Integer.parseInt(parts[1]);
  14. if (month < 1 || month > 12) return false;
  15.  
  16. if (parts[2].length() != 2) return false;
  17. int year = Integer.parseInt(parts[2]);
  18.  
  19. return true;
  20. }
  21.  
  22. private static void test(String date) {
  23. String valid = validDate(date) ? "is" : "isn't";
  24. System.out.println(date + " " + valid + " a valid date.");
  25. }
  26.  
  27. public static void main (String[] args) throws java.lang.Exception
  28. {
  29. test("34-12-00");
  30. test("31-12-dd");
  31. }
  32. }
Runtime error #stdin #stdout #stderr 0.07s 380160KB
stdin
Standard input is empty
stdout
34-12-00 isn't a valid date.
stderr
Exception in thread "main" java.lang.NumberFormatException: For input string: "dd"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:492)
	at java.lang.Integer.parseInt(Integer.java:527)
	at Ideone.validDate(Main.java:17)
	at Ideone.test(Main.java:23)
	at Ideone.main(Main.java:30)