From 555f2864343258968dcfca24d16e5ef7f968671b Mon Sep 17 00:00:00 2001 From: jjheffernan Date: Wed, 29 Jun 2022 09:31:32 -0400 Subject: [PATCH 01/12] working factorial functionality --- src/main/java/LoopFun.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/LoopFun.java b/src/main/java/LoopFun.java index 801ab56..5d0b0dd 100644 --- a/src/main/java/LoopFun.java +++ b/src/main/java/LoopFun.java @@ -1,4 +1,3 @@ - public class LoopFun { @@ -10,7 +9,9 @@ public class LoopFun * @return the factorial of the number */ public Integer factorial(Integer number){ - return null; + int fact = 1; + for (int i = 1; i <= number; i++) {fact = fact * i;} + return fact; } /** From 68bd9be38b9de61e15edff0dae2e8aa43fcaa5ef Mon Sep 17 00:00:00 2001 From: jjheffernan Date: Wed, 29 Jun 2022 09:35:09 -0400 Subject: [PATCH 02/12] working add and div methods. --- src/main/java/MathUtilities.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/MathUtilities.java b/src/main/java/MathUtilities.java index e067c75..885a9aa 100644 --- a/src/main/java/MathUtilities.java +++ b/src/main/java/MathUtilities.java @@ -1,4 +1,4 @@ - + import java.lang.Math; public class MathUtilities{ @@ -9,7 +9,8 @@ public class MathUtilities{ * @return the sum of the two numbers */ public Integer add(Integer baseValue, Integer valueToAdd){ - return null; + + return baseValue + valueToAdd; } /** @@ -19,7 +20,8 @@ public Integer add(Integer baseValue, Integer valueToAdd){ * @return the sum of the two numbers */ public Double add(Double baseValue, Double valueToAdd){ - return null; + + return baseValue + valueToAdd; } /** @@ -28,7 +30,8 @@ public Double add(Double baseValue, Double valueToAdd){ * @return the half of the number in double */ public Double half(Integer number) { - return null; + + return (double) number /2 ; } /** From 5c23d6076925eb83b0526808d5c0ce40253ed73a Mon Sep 17 00:00:00 2001 From: jjheffernan Date: Wed, 29 Jun 2022 09:37:40 -0400 Subject: [PATCH 03/12] added isOdd function via naive if statement. --- src/main/java/MathUtilities.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/MathUtilities.java b/src/main/java/MathUtilities.java index 885a9aa..053140b 100644 --- a/src/main/java/MathUtilities.java +++ b/src/main/java/MathUtilities.java @@ -40,7 +40,12 @@ public Double half(Integer number) { * @return true if the number is odd, false if it is even */ public Boolean isOdd(Integer number){ - return null; + if (number %2 != 0 ) { + return true; + } else { + return false; + } + } From 3f274a667b65771788d1a0d5344fe4fd91b8d44c Mon Sep 17 00:00:00 2001 From: jjheffernan Date: Wed, 29 Jun 2022 09:38:53 -0400 Subject: [PATCH 04/12] completed MathUtilities methods. all tests pass --- src/main/java/MathUtilities.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/MathUtilities.java b/src/main/java/MathUtilities.java index 053140b..8949b02 100644 --- a/src/main/java/MathUtilities.java +++ b/src/main/java/MathUtilities.java @@ -55,7 +55,7 @@ public Boolean isOdd(Integer number){ * @return the result of the number multiply by itself */ public Integer square(Integer number) { - return null; + return number * number; } } From 0eee89f44b74e82fe4d4f285b5f36c36a301ad70 Mon Sep 17 00:00:00 2001 From: jjheffernan Date: Wed, 29 Jun 2022 09:45:27 -0400 Subject: [PATCH 05/12] added returnInput, concatenate, and reverse String methods. --- src/main/java/StringUtilities.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/StringUtilities.java b/src/main/java/StringUtilities.java index e3ea8a9..c4c62eb 100644 --- a/src/main/java/StringUtilities.java +++ b/src/main/java/StringUtilities.java @@ -1,3 +1,4 @@ +import java.lang.StringBuilder; public class StringUtilities { /** @@ -5,7 +6,8 @@ public class StringUtilities { * @return `input` */ public String returnInput(String input) { - return null; + + return input; } /** @@ -14,7 +16,9 @@ public String returnInput(String input) { * @return the concatenation of `baseValue` and `valueToBeAdded` */ public String concatenate(String baseValue, String valueToBeAdded) { - return null; + String baseVal = baseValue; + String output = baseVal.concat(valueToBeAdded); + return output; } /** @@ -22,7 +26,13 @@ public String concatenate(String baseValue, String valueToBeAdded) { * @return identical string with characters in opposite order */ public String reverse(String valueToBeReversed) { - return null; + // needed to add stringbuilder, no reason to use a costly for loop + StringBuilder str = new StringBuilder(); + String input = valueToBeReversed; + str.append(input); + str.reverse(); + String output = String.valueOf(str); + return output; } /** From 3164e35a395cfca6a9651ca3625b6dc6fdf5b261 Mon Sep 17 00:00:00 2001 From: jjheffernan Date: Wed, 29 Jun 2022 09:49:37 -0400 Subject: [PATCH 06/12] added getMiddleCharacter --- src/main/java/StringUtilities.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/StringUtilities.java b/src/main/java/StringUtilities.java index c4c62eb..7ef38b8 100644 --- a/src/main/java/StringUtilities.java +++ b/src/main/java/StringUtilities.java @@ -40,7 +40,10 @@ public String reverse(String valueToBeReversed) { * @return middle character of `word` */ public Character getMiddleCharacter(String word) { - return null; + int length = word.length(); + int center = length/2; + char output = word.charAt(center); + return output; } /** From 6fc2031995b09d3ce3683fd03b0164f3877b92d1 Mon Sep 17 00:00:00 2001 From: jjheffernan Date: Wed, 29 Jun 2022 10:04:03 -0400 Subject: [PATCH 07/12] added test build of removeCharacter. cleaned up GetMiddleCharacter to be fewer lines. Plan to do same with RemoveCharacter. --- src/main/java/StringUtilities.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/StringUtilities.java b/src/main/java/StringUtilities.java index 7ef38b8..cf888fd 100644 --- a/src/main/java/StringUtilities.java +++ b/src/main/java/StringUtilities.java @@ -40,9 +40,7 @@ public String reverse(String valueToBeReversed) { * @return middle character of `word` */ public Character getMiddleCharacter(String word) { - int length = word.length(); - int center = length/2; - char output = word.charAt(center); + char output = word.charAt((word.length())/2); return output; } @@ -52,7 +50,17 @@ public Character getMiddleCharacter(String word) { * @return `value` with char of value `charToRemove` removed */ public String removeCharacter(String value, Character charToRemove) { - return null; + StringBuilder str = new StringBuilder(); + int length = value.length(); + String output = value; + for (int i =0; i <=length; i++) { + if ( value.charAt(i) == charToRemove) { + // output = value.replace(charToRemove.toString(), "");} + str.deleteCharAt(i); + + } + } + return output; } /** From fe7862fe5a744901d01188e14db8e04f73e68578 Mon Sep 17 00:00:00 2001 From: jjheffernan Date: Wed, 29 Jun 2022 10:15:04 -0400 Subject: [PATCH 08/12] added removeCharacter functionality. Passes 4/5 tests. Need to examine remove method to fix double cases. --- src/main/java/StringUtilities.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/StringUtilities.java b/src/main/java/StringUtilities.java index cf888fd..3378e75 100644 --- a/src/main/java/StringUtilities.java +++ b/src/main/java/StringUtilities.java @@ -51,15 +51,16 @@ public Character getMiddleCharacter(String word) { */ public String removeCharacter(String value, Character charToRemove) { StringBuilder str = new StringBuilder(); - int length = value.length(); - String output = value; - for (int i =0; i <=length; i++) { + String input = value; + str.append(input); + for (int i =0 ; i < value.length(); i++) { if ( value.charAt(i) == charToRemove) { // output = value.replace(charToRemove.toString(), "");} str.deleteCharAt(i); } } + String output = String.valueOf(str); return output; } From c7ee200a437004c8e3af0d4714707b8f9e8a391b Mon Sep 17 00:00:00 2001 From: jjheffernan Date: Wed, 29 Jun 2022 10:20:38 -0400 Subject: [PATCH 09/12] added getLastWord functionality. StringUtilies pass all but one test case locally --- src/main/java/StringUtilities.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/StringUtilities.java b/src/main/java/StringUtilities.java index 3378e75..697c741 100644 --- a/src/main/java/StringUtilities.java +++ b/src/main/java/StringUtilities.java @@ -57,6 +57,7 @@ public String removeCharacter(String value, Character charToRemove) { if ( value.charAt(i) == charToRemove) { // output = value.replace(charToRemove.toString(), "");} str.deleteCharAt(i); + // str.replace(i,i,""); } } @@ -69,6 +70,9 @@ public String removeCharacter(String value, Character charToRemove) { * @return last `word` in sentence */ public String getLastWord(String sentence) { - return null; + //StringBuilder str = new StringBuilder(); + // str.append(sentence); + return sentence.substring(sentence.lastIndexOf(" ")+1); + // String output = String.valueOf(str); } } From e2e45b0e39d110474d67cb8becd3b91ee01e9454 Mon Sep 17 00:00:00 2001 From: jjheffernan Date: Wed, 29 Jun 2022 10:50:23 -0400 Subject: [PATCH 10/12] 46/51 tests pass. LoopFun Acronym needs work, StringUtils has a tuning issue within its overflow. --- src/main/java/LoopFun.java | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main/java/LoopFun.java b/src/main/java/LoopFun.java index 5d0b0dd..8abcae2 100644 --- a/src/main/java/LoopFun.java +++ b/src/main/java/LoopFun.java @@ -1,3 +1,4 @@ +import java.util.ArrayList; public class LoopFun { @@ -22,7 +23,23 @@ public Integer factorial(Integer number){ * @return Upper case string of the first letter of each word */ public String acronym(String phrase) { + String[] words = {""}; + return null; + /* + char c = phrase.charAt(0); + String output = phrase; + String OutPut = null; + for (int i = 1; i < phrase.length(); i++) { + if (Character.isWhitespace(phrase.charAt(i))) { + output = output + phrase.charAt(i); + output += phrase.charAt(i+1); + } + OutPut = output.replaceAll("\\s+","").toUpperCase(); + } + + return OutPut; + */ } /** @@ -38,6 +55,17 @@ public String acronym(String phrase) { * @return the encrypted string by shifting each character by three character */ public String encrypt(String word) { - return null; + char[] pass = word.toCharArray(); + int shiftVal = 3; + for (int i = 0; i < word.length(); i++) { + if (pass[i] >= 120) { + pass[i] -= 23; + + } else { + pass[i] += shiftVal; + } + } + String password = new String(pass); + return password; } } From 9cc2422a716547956f9882be686c15aa9d7f968e Mon Sep 17 00:00:00 2001 From: jjheffernan Date: Wed, 29 Jun 2022 11:05:52 -0400 Subject: [PATCH 11/12] Added LoopsFun.Acronym functionality. 50/51 Test Cases Pass, need assistance on fixing StringUtilities removeCharacter. --- src/main/java/LoopFun.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/LoopFun.java b/src/main/java/LoopFun.java index 8abcae2..de67694 100644 --- a/src/main/java/LoopFun.java +++ b/src/main/java/LoopFun.java @@ -23,9 +23,16 @@ public Integer factorial(Integer number){ * @return Upper case string of the first letter of each word */ public String acronym(String phrase) { - String[] words = {""}; + + String[] words = phrase.split("\\W+"); + String output = ""; + for (int i = 0; i Date: Wed, 29 Jun 2022 11:10:45 -0400 Subject: [PATCH 12/12] all test cases pass. 51/51, removeCharacter was fixed by adding in correction variable to track removals. --- src/main/java/StringUtilities.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/StringUtilities.java b/src/main/java/StringUtilities.java index 697c741..5add6e8 100644 --- a/src/main/java/StringUtilities.java +++ b/src/main/java/StringUtilities.java @@ -52,13 +52,14 @@ public Character getMiddleCharacter(String word) { public String removeCharacter(String value, Character charToRemove) { StringBuilder str = new StringBuilder(); String input = value; + int count = 0; str.append(input); for (int i =0 ; i < value.length(); i++) { if ( value.charAt(i) == charToRemove) { // output = value.replace(charToRemove.toString(), "");} - str.deleteCharAt(i); + str.deleteCharAt(i-count); // str.replace(i,i,""); - + count += 1; } } String output = String.valueOf(str);