Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Read in a time such as 3 pm and print the equivalent military hour (such as 15).

ID: 3574883 • Letter: R

Question

Read in a time such as 3 pm and print the equivalent military hour (such as 15). Validate the input.

If the input doesn’t start with an integer, print: Error: Not an integer.

If the number isn’t between 1 and 12, print: Error: The hour must be between 1 and 12.

If the suffix isn’t "am" or "pm", print: Error: The suffix must be am or pm.

Complete the following file:

TimeReader.java

import java.util.Scanner;

public class TimeReader
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
if (. . .)
{
int hour = in.nextInt();
if (. . .)
{
String suffix = in.next();
if (. . .)
{
// Convert hour to military time

System.out.println(hour);
}
else
{
System.out.println("Error: The suffix must be am or pm.");
}
}
else
{
System.out.println("Error: The hour must be between 1 and 12.");
}
}
else
{
System.out.println("Error: Not an integer.");
}
}
}

Explanation / Answer

import java.util.Scanner;

public class TimeReader
{
   public static void main(String[] args)
   {
      Scanner in = new Scanner(System.in);
      String a = in.next();
      if (a.charAt(0)>=48 && a.charAt(0)<58 )
      {
         int hour = Integer.parseInt(a);
         if (hour>=1 && hour<=12)
         {
            String suffix = in.next();
            if (suffix.endsWith("am") || suffix.endsWith("pm"))
            {
               // Convert hour to military time

               if(suffix.endsWith("am"))
               System.out.println(hour);
               else
               {
                   if(hour==12)System.out.println(0);
                   else System.out.println(hour+12);
               }
            }
            else
            {
               System.out.println("Error: The suffix must be am or pm.");
            }
         }
         else
         {
            System.out.println("Error: The hour must be between 1 and 12.");
         }
      }
      else
      {
         System.out.println("Error: Not an integer.");
      }
   }
}

ouput:-

run:
3 pm
15
BUILD SUCCESSFUL (total time: 8 seconds)

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote