Read in a time such as 3 pm and print the equivalent military hour (such as 15).
ID: 3836166 • 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
// completed the code by adding all the conditions import java.util.Scanner; public class TimeReader { public static void main(String[] args) { Scanner in = new Scanner(System.in); if (in.hasNextInt()) { int hour = in.nextInt(); if (hour>=1 && hourRelated Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.