-
Notifications
You must be signed in to change notification settings - Fork 52
Expand file tree
/
Copy pathProblem6.java
More file actions
81 lines (65 loc) · 2.86 KB
/
Copy pathProblem6.java
File metadata and controls
81 lines (65 loc) · 2.86 KB
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package io.zipcoder;
import java.util.LinkedHashMap;
import java.util.Map;
public class Problem6 {
private String[] digitsAsMilitaryWords = {
"Zero Zero", "Zero One", "Zero Two", "Zero Three", "Zero Four",
"Zero Five", "Zero Six", "Zero Seven", "Zero Eight", "Zero Nine",
"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen",
"Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen",
"Twenty", "Twenty One", "Twenty Two", "Twenty Three", "Twenty Four",
"Twenty Five", "Twenty Six", "Twenty Seven", "Twenty Eight", "Twenty Nine",
"Thirty", "Thirty One", "Thirty Two", "Thirty Three", "Thirty Four",
"Thirty Five", "Thirty Six", "Thirty Seven", "Thirty Eight", "Thirty Nine",
"Forty", "Forty One", "Forty Two", "Forty Three", "Forty Four",
"Forty Five", "Forty Six", "Forty Seven", "Forty Eight", "Forty Nine",
"Fifty", "Fifty One", "Fifty Two", "Fifty Three", "Fifty Four",
"Fifty Five", "Fifty Six", "Fifty Seven", "Fifty Eight", "Fifty Nine"
};
public Problem6() {
}
public String[] getDigitsAsMilitaryWords() {
return digitsAsMilitaryWords;
}
public String writeTimeAsMilitary(String timeString) {
char timeOfDay = isTimeAmOrPm(timeString);
String[] timeStringArray = timeStringToStringArray(timeString);
String hourDigitsAsString = timeStringArray[0];
int hourDigits = Integer.parseInt(hourDigitsAsString);
if ((timeOfDay == 'p') && (hourDigits != 12)) {
hourDigits += 12;
}
String minutesDigitsAsString = timeStringArray[1];
int minutesDigits = Integer.parseInt(minutesDigitsAsString);
StringBuilder sb = new StringBuilder();
sb.append(digitsAsMilitaryWords[hourDigits]);
sb.append(" Hundred and ");
sb.append(digitsAsMilitaryWords[minutesDigits]);
sb.append(" Hours");
return sb.toString();
}
public char isTimeAmOrPm(String timeString) {
int stringLength = timeString.length();
return timeString.charAt(stringLength - 2);
}
public String[] timeStringToStringArray(String timeString) {
return removeLastTwoChars(timeString).split(":");
}
public String removeLastTwoChars(String timeString) {
return timeString.substring(0, timeString.length() - 2);
}
public String digitsToStringFromDigitsEnum(int digitsToFind) {
for (Digits digits : Digits.values()) {
if (digitsToFind == digits.toInt()) {
return digits.toString();
}
}
return "Digits not found";
}
public static void main(String[] args) {
Problem6 problem6 = new Problem6();
String time = "3:28pm";
System.out.println(time);
System.out.println(problem6.writeTimeAsMilitary(time));
}
}