From 0d28d888ac7695d7bea10254326a5a2b835809ec Mon Sep 17 00:00:00 2001 From: four-horsemen-of-the-nasdaq Date: Fri, 9 Apr 2021 14:56:00 -0500 Subject: [PATCH 1/2] added stuff --- src/main/java/com/github/archarithms/App.java | 44 ++++++++++++++++++- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/github/archarithms/App.java b/src/main/java/com/github/archarithms/App.java index dcb6723..d56115a 100644 --- a/src/main/java/com/github/archarithms/App.java +++ b/src/main/java/com/github/archarithms/App.java @@ -1,15 +1,55 @@ package com.github.archarithms; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; + public class App { public static String convertToTitleCase(final String inpStr) { - return inpStr; + { + //check for null + if(inpStr == null) { + throw new NullPointerException(); + } + //make string lower case + String input = inpStr.toLowerCase(); + //remove all non alpha numeric + input = input.replaceAll("[^a-zA-Z0-9]"," "); + //remove excess whitespace + input = input.replaceAll("\\s+"," "); + //Captialize Words + char[] charArray = input.toCharArray(); + boolean foundSpace = true; + for(int i=0; i < charArray.length; i++) + { + if(Character.isLetter(charArray[i]) && foundSpace) + { + charArray[i] = Character.toUpperCase(charArray[i]); + foundSpace = false; + } + if(charArray[i]==' ') + { + foundSpace=true; + } + } + //return completed string + return String.valueOf(charArray); + } + } public static String convertUnixToDateString(final Long inpUnixSeconds) { - return String.valueOf(inpUnixSeconds); + //check for null + if(inpUnixSeconds==null) + { + throw new NullPointerException(); + } + else return LocalDateTime.ofInstant(Instant.ofEpochSecond(inpUnixSeconds), + ZoneId.systemDefault()).format(DateTimeFormatter.ofPattern("MMMM d, YYYY")); } } From 1faff9d1708de3242d154cba8ea2297bda0edd8a Mon Sep 17 00:00:00 2001 From: four-horsemen-of-the-nasdaq Date: Fri, 9 Apr 2021 15:03:58 -0500 Subject: [PATCH 2/2] comments --- src/main/java/com/github/archarithms/App.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/github/archarithms/App.java b/src/main/java/com/github/archarithms/App.java index d56115a..0fa57ad 100644 --- a/src/main/java/com/github/archarithms/App.java +++ b/src/main/java/com/github/archarithms/App.java @@ -23,6 +23,7 @@ public static String convertToTitleCase(final String inpStr) input = input.replaceAll("\\s+"," "); //Captialize Words char[] charArray = input.toCharArray(); + //set foundspace true so first letter is always capatilized boolean foundSpace = true; for(int i=0; i < charArray.length; i++) { @@ -49,6 +50,7 @@ public static String convertUnixToDateString(final Long inpUnixSeconds) { throw new NullPointerException(); } + //convert from unix epoch time to human readable time else return LocalDateTime.ofInstant(Instant.ofEpochSecond(inpUnixSeconds), ZoneId.systemDefault()).format(DateTimeFormatter.ofPattern("MMMM d, YYYY")); }