diff --git a/pom.xml b/pom.xml
index 5fd8efa..d032321 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,6 +16,11 @@
4.12
test
+
+ junit
+ junit
+ 4.12
+
\ No newline at end of file
diff --git a/src/main/java/io/zipcoder/Problem6.java b/src/main/java/io/zipcoder/Problem6.java
index 4ee4e64..2ebb760 100644
--- a/src/main/java/io/zipcoder/Problem6.java
+++ b/src/main/java/io/zipcoder/Problem6.java
@@ -1,4 +1,82 @@
package io.zipcoder;
+//Given a time given as a String in numerical format,
+// convert that value into its military time phrase.
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
public class Problem6 {
+
+ private String time;
+
+ public Problem6(String time) {
+ this.time = time;
+ }
+
+
+
+ public String convertToMilitaryTimePhrase() {
+ String timePattern = "(1[012]|[1-9]):([0-5][0-9])(am|pm)";
+
+ Pattern pattern = Pattern.compile(timePattern);
+ Matcher matcher = pattern.matcher(time);
+
+
+ String[] minutesDigitsZeroToFiftyNine = {
+ "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"};
+
+
+
+
+ int hourNumber = 0;
+ int minutesNumber = 0;
+ String amOrPm = "";
+ if(matcher.find()){
+ hourNumber += Integer.valueOf(matcher.group(1));
+ minutesNumber+= Integer.valueOf(matcher.group(2));
+ amOrPm+=(matcher.group(3));
+ }
+
+ if(amOrPm.equals("pm")){
+ hourNumber+=12;
+ }
+
+ String newTime ="";
+ if(minutesNumber< 10){
+ newTime = minutesDigitsZeroToFiftyNine[hourNumber] + " hundred " + minutesDigitsZeroToFiftyNine[minutesNumber] + " hours";
+
+ }
+ else {
+ newTime = minutesDigitsZeroToFiftyNine[hourNumber] + " hundred and " + minutesDigitsZeroToFiftyNine[minutesNumber] + " hours";
+ }
+ return camelCaseSentence(newTime);
+
+ }
+
+ public String camelCaseSentence(String str){
+ String [] temp = str.split(" ");
+ StringBuilder sentence = new StringBuilder();
+ for (int i = 0; i < temp.length; i++) {
+ sentence.append(temp[i].substring(0,1).toUpperCase());
+ sentence.append(temp[i].substring(1));
+ sentence.append(" ");
+ }
+ sentence.trimToSize();
+ String finalSentence = sentence.toString();
+ return finalSentence.replaceAll("[A|a][n][d]", "and");
+
+ }
+
}
diff --git a/src/test/java/io/zipcoder/Problem6Test.java b/src/test/java/io/zipcoder/Problem6Test.java
index d262e88..1dafa96 100644
--- a/src/test/java/io/zipcoder/Problem6Test.java
+++ b/src/test/java/io/zipcoder/Problem6Test.java
@@ -1,4 +1,77 @@
package io.zipcoder;
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
public class Problem6Test {
+
+ @Test
+ public void problemTest1(){
+
+ Problem6 problem6 = new Problem6("1:30pm");
+
+ String expected = "Thirteen Hundred and Thirty Hours ";
+ String actual = problem6.convertToMilitaryTimePhrase();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void problemTest2(){
+
+ Problem6 problem6 = new Problem6("1:30am");
+
+ String expected = "Zero One Hundred and Thirty Hours ";
+ String actual = problem6.convertToMilitaryTimePhrase();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void problemTest3(){
+
+ Problem6 problem6 = new Problem6("2:22pm");
+
+ String expected = "Fourteen Hundred and Twenty Two Hours ";
+ String actual = problem6.convertToMilitaryTimePhrase();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void problemTest4(){
+
+ Problem6 problem6 = new Problem6("2:11am");
+
+ String expected = "Zero Two Hundred and Eleven Hours ";
+ String actual = problem6.convertToMilitaryTimePhrase();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void problemTest5(){
+
+ Problem6 problem6 = new Problem6("10:02am");
+
+ String expected = "Ten Hundred Zero Two Hours ";
+ String actual = problem6.convertToMilitaryTimePhrase();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void camelCaseSentence(){
+ Problem6 problem6 = new Problem6("10:02am");
+
+ String actual = problem6.camelCaseSentence("ten hundred zero two hours ");
+ String expected = "Ten Hundred Zero Two Hours ";
+ Assert.assertEquals(expected, actual);
+
+
+
+ }
}
+