Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions src/main/java/io/zipcoder/App.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package io.zipcoder;

public class App {

public static void main(String[] args) {
String input = "9:30pm";
String militaryTimeHour;
String militaryTimeOfMinutes;

Problem6 p6 = new Problem6();
militaryTimeHour = p6.getMilitaryHour(p6.parseIntoHour(input));
militaryTimeOfMinutes = p6.getMilitaryMinutes(p6.parseMinutes(input));
p6.getMilitaryTime(militaryTimeHour, militaryTimeOfMinutes);
System.out.println(p6.getMilitaryTime(militaryTimeHour, militaryTimeOfMinutes));
}
}
65 changes: 65 additions & 0 deletions src/main/java/io/zipcoder/Problem6.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,69 @@
package io.zipcoder;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class Problem6 {

private String militaryTimeHour;
private String militaryTimeOfMinutes;

private String[] hours = {"","One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten",
"Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen",
"Twenty", "Twenty One", "Twenty Two", "Twenty Three", "Twenty Four"};
private String[] bigMinutes = {"Zero", "Ten", "Twenty", "Thirty", "Forty", "Fifty"};


public String[] splitString(String input) {
return input.split(":");
}

public Integer parseIntoHour(String input) {
String[] getHour = splitString(input);
Integer hour = Integer.parseInt(getHour[0]);
if(getHour[1].contains("p")) {
return hour += 12;
} else {
return hour;
}
}
public String getMilitaryHour(Integer input) {
if (input < 10) {
militaryTimeHour = hours[input];
return "Zero " + militaryTimeHour;
} else
return militaryTimeHour = hours[input];
}

public Integer parseMinutes(String input) {
String[] getMinutes = splitString(input);
String minutes = getMinutes[1];
StringBuilder justMinutes = new StringBuilder();
justMinutes.append(minutes.charAt(0));
justMinutes.append(minutes.charAt(1));
String newMinutes = justMinutes.toString();
return Integer.parseInt(newMinutes);
}

public String getMilitaryMinutes(Integer input) {
if(input == 0) {
return militaryTimeOfMinutes = bigMinutes[0];
} else if (input < 10) {
return militaryTimeOfMinutes = "Zero " + hours[input];
} else if (input < 21) {
return militaryTimeOfMinutes = hours[input];
} else {
String minuteString = Integer.toString(input);
String[] highMinutes = minuteString.split("");
Integer first = Integer.parseInt(highMinutes[0]);
Integer second = Integer.parseInt(highMinutes[1]);
return militaryTimeOfMinutes = bigMinutes[first] + " " + hours[second];
}
}

public String getMilitaryTime(String input, String input2) {
return militaryTimeHour + " Hundred and " + militaryTimeOfMinutes + " Hours";
}

}
60 changes: 60 additions & 0 deletions src/test/java/io/zipcoder/Problem6Test.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,64 @@
package io.zipcoder;

import org.junit.Assert;
import org.junit.Test;

public class Problem6Test {

@Test
public void testTime() {
Problem6 problem6 = new Problem6();
String input = "1:30pm";
String[] expected = {"1","30pm"};
String[] actual = problem6.splitString(input);
Assert.assertEquals(expected, actual);
}

@Test
public void testGetHour() {
Problem6 problem6 = new Problem6();
String input = "1:30pm";
Integer expected = 13;
Integer actual = problem6.parseIntoHour(input);
Assert.assertEquals(expected, actual);

}

@Test
public void testGetMilitaryTime1() {
Problem6 problem6 = new Problem6();
Integer input = 5;
String expected = "Zero Five";
String actual = problem6.getMilitaryHour(input);
Assert.assertEquals(expected, actual);
}

@Test
public void testGetMilitaryTime() {
Problem6 problem6 = new Problem6();
Integer input = 13;
String expected = "Thirteen";
String actual = problem6.getMilitaryHour(input);
Assert.assertEquals(expected, actual);
}
@Test
public void testMinuteTime() {
Problem6 problem6 = new Problem6();
String input = "1:30pm";
Integer expected = 30;
Integer actual = problem6.parseMinutes(input);
System.out.println(actual);
Assert.assertEquals(expected, actual);
}
@Test
public void testMilitaryMinutes() {
Problem6 problem6 = new Problem6();
Integer input = 30;
String expected = "Thirty ";
String actual = problem6.getMilitaryMinutes(input);
System.out.println(actual);
Assert.assertEquals(expected, actual);
}


}