-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathTimeConversion.java
44 lines (36 loc) · 1.39 KB
/
TimeConversion.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package warmup;
import java.util.Scanner;
public class TimeConversion {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String time = scanner.next();
System.out.println(to24Hour(time));
}
private static String to24Hour(String time) {
String[] tokens = time.split(":");
int hour = Integer.parseInt(tokens[0]);
int minutes = Integer.parseInt(tokens[1]);
int seconds = Integer.parseInt(tokens[2].substring(0, 2));
String median = tokens[2].substring(2);
if (isMidnight(hour, median)) {
return timeString(0, minutes, seconds);
} else if (isNoon(hour, median)) {
return timeString(12, minutes, seconds);
} else if (median.equals("PM")) {
hour = (hour + 12) % 24 ;
}
return timeString(hour, minutes, seconds);
}
private static boolean isMidnight(int hours, String median) {
return hours == 12 && median.equals("AM");
}
private static boolean isNoon(int hours, String median) {
return hours == 12 && median.equals("PM");
}
private static String timeString(int hours, int minutes, int seconds) {
return format(hours) + ":" + format(minutes) + ":" + format(seconds);
}
private static String format(int string) {
return string < 10 ? "0" + string : "" + string;
}
}