MiniMi2022

Beer Time

Feb 15th, 2022 (edited)
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.53 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Problem11_BeerTime {
  4.     public static void main(String[] args) {
  5.         Scanner myScan = new Scanner(System.in);
  6.         String time = myScan.nextLine();
  7.  
  8.         String result = "";
  9.         int index = time.indexOf(":");
  10.         int indexSp = time.indexOf(" ");
  11.  
  12.         if (index < 0 || indexSp < index) {
  13.             result = "invalid time";
  14.         } else {
  15.             String hourAsString = time.substring(0, index);
  16.             String minutesAsString = time.substring(index + 1, indexSp);
  17.             String am_pm = time.substring(indexSp + 1);
  18.             if (hourAsString.length() > 2 || minutesAsString.length() != 2 || !(am_pm.equals("PM") || am_pm.equals("AM"))) {
  19.                 result = "invalid time";
  20.             } else {
  21.                 try {
  22.                     int hour = Integer.parseInt(hourAsString);
  23.                     int minutes = Integer.parseInt(minutesAsString);
  24.                     if (hour < 1 || hour > 12 || minutes < 0 || minutes > 59) {
  25.                         result = "invalid time";
  26.                     } else if (hour > 0 && hour < 12 && am_pm.equals("PM") || (hour == 12 || hour > 0 && hour < 3) && am_pm.equals("AM")) {
  27.                         result = "beer time";
  28.                     } else {
  29.                         result = "non-beer time";
  30.                     }
  31.                 } catch (Exception exception) {
  32.                     result = "invalid time";
  33.                 }
  34.             }
  35.         }
  36.         System.out.println(result);
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment