From ea3af96baa3a0086647f347e40c637168a408207 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 15:29:09 -0400 Subject: [PATCH 01/24] sqareRootTests passed --- .../java/rocks/zipcode/quiz4/fundamentals/Calculator.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java index 02f2618..06e3607 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -1,13 +1,17 @@ package rocks.zipcode.quiz4.fundamentals; +import static java.lang.Math.sqrt; + /** * @author leon on 21/12/2018. */ public class Calculator { public static Double squareRoot(Double value) { - return null; + + return sqrt(value); } + public static Double square(Double value) { return null; } From 5cba2e6a3371f3109e36d6d8bad14aeb1ca6146f Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 15:30:19 -0400 Subject: [PATCH 02/24] squareTests passed --- src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java index 06e3607..3333b89 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -13,7 +13,7 @@ public static Double squareRoot(Double value) { public static Double square(Double value) { - return null; + return value * value; } public static Double[] squareRoots(Double... value) { From 751a8053d53af0506feb0b9f8e70a57ac6061376 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 15:35:36 -0400 Subject: [PATCH 03/24] SquareRootsTest passed --- .../java/rocks/zipcode/quiz4/fundamentals/Calculator.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java index 3333b89..b5282b7 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -17,7 +17,11 @@ public static Double square(Double value) { } public static Double[] squareRoots(Double... value) { - return null; + Double[] result = new Double[value.length]; + for(int i = 0; i < value.length; i++){ + result[i] = Math.sqrt((value[i])); + } + return result; } public static Double[] squares(Double... values) { From e48a73a9ad353acd8ee9ace076355d1d7a6a8a39 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 15:37:59 -0400 Subject: [PATCH 04/24] addTests --- src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java index b5282b7..7c7e0a2 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -29,7 +29,7 @@ public static Double[] squares(Double... values) { } public static Double add(Double value1, Double value2) { - return null; + return value1 + value2; } public static Double subtract(Double value1, Double value2) { From 6d0b6363b6c2bfa576b89545ebccdc8114d1e689 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 15:39:15 -0400 Subject: [PATCH 05/24] subtractTests passed --- src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java index 7c7e0a2..37d3e8c 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -33,7 +33,7 @@ public static Double add(Double value1, Double value2) { } public static Double subtract(Double value1, Double value2) { - return null; + return value1 - value2; } From bd03e3e683290ff0fa8391a1c08cf5d22af7d626 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 15:40:20 -0400 Subject: [PATCH 06/24] dividTests passed --- src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java index 37d3e8c..d444aa6 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -38,6 +38,6 @@ public static Double subtract(Double value1, Double value2) { public static Double divide(Double divisor, Double dividend) { - return null; + return divisor/dividend; } } From 7ed2a7d78b98e241b5c79b9e8a0d4282092e88ad Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 15:45:58 -0400 Subject: [PATCH 07/24] all math fun test done --- .../java/rocks/zipcode/quiz4/fundamentals/Calculator.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java index d444aa6..f9f5c69 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -25,7 +25,11 @@ public static Double[] squareRoots(Double... value) { } public static Double[] squares(Double... values) { - return null; + Double[] result = new Double[values.length]; + for(int i = 0; i < values.length; i++){ + result[i] = Math.pow(values[i], 2); + } + return result; } public static Double add(Double value1, Double value2) { From fe150888029d90b997f53e30a939899f7bf1d1a8 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 15:48:02 -0400 Subject: [PATCH 08/24] getMIdChaTest passed --- .../java/rocks/zipcode/quiz4/fundamentals/StringUtils.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java index 5ec61be..d74547b 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -5,7 +5,8 @@ */ public class StringUtils { public static Character getMiddleCharacter(String string) { - return null; + + return string.charAt(string.length()/2); } public static String capitalizeMiddleCharacter(String str) { From 7c4628ce408aa9ce646fad501bc2b6a7e656f51e Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 16:00:40 -0400 Subject: [PATCH 09/24] CapitalizeMiddleCharacterTests passed --- .../rocks/zipcode/quiz4/fundamentals/StringUtils.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java index d74547b..3e7df34 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -10,7 +10,13 @@ public static Character getMiddleCharacter(String string) { } public static String capitalizeMiddleCharacter(String str) { - return null; + + char[] arr = str.toCharArray(); + int i = arr.length/2; + arr[i]= Character.toUpperCase(arr[0]); + String result = new String(arr); + + return result; } public static String lowerCaseMiddleCharacter(String str) { From 997503078331be4dbbdbc7c3e0548b14252a5473 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 16:03:57 -0400 Subject: [PATCH 10/24] LowerCaseMiddleCharacterTests passed --- .../rocks/zipcode/quiz4/fundamentals/StringUtils.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java index 3e7df34..201d7cf 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -13,14 +13,19 @@ public static String capitalizeMiddleCharacter(String str) { char[] arr = str.toCharArray(); int i = arr.length/2; - arr[i]= Character.toUpperCase(arr[0]); + arr[i]= Character.toUpperCase(arr[i]); String result = new String(arr); return result; } public static String lowerCaseMiddleCharacter(String str) { - return null; + char[] arr = str.toCharArray(); + int i = arr.length/2; + arr[i]= Character.toLowerCase(arr[i]); + String result = new String(arr); + + return result; } public static Boolean isIsogram(String str) { From 36d6ba0750a60bdcddac675b4e97c59495971106 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 16:20:24 -0400 Subject: [PATCH 11/24] isIsogram tests pased --- .../rocks/zipcode/quiz4/fundamentals/StringUtils.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java index 201d7cf..106d058 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -1,5 +1,7 @@ package rocks.zipcode.quiz4.fundamentals; +import java.util.Arrays; + /** * @author leon on 21/12/2018. */ @@ -29,7 +31,13 @@ public static String lowerCaseMiddleCharacter(String str) { } public static Boolean isIsogram(String str) { - return null; + char arr[] = str.toCharArray(); + Arrays.sort(arr); + for(int i = 0; i < str.length()-1; i++){ + if(arr[i] == arr[i +1]) + return false; + } + return true; } public static Boolean hasDuplicateConsecutiveCharacters(String str) { From 7803ed0bdd65b711c4424112267d46f51969f1d2 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 16:43:53 -0400 Subject: [PATCH 12/24] HasDuplicateConsecutiveCharactersTests passed --- .../quiz4/fundamentals/StringUtils.java | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java index 106d058..af06c1b 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -31,6 +31,7 @@ public static String lowerCaseMiddleCharacter(String str) { } public static Boolean isIsogram(String str) { + //str = str.toLowerCase(); char arr[] = str.toCharArray(); Arrays.sort(arr); for(int i = 0; i < str.length()-1; i++){ @@ -41,14 +42,35 @@ public static Boolean isIsogram(String str) { } public static Boolean hasDuplicateConsecutiveCharacters(String str) { - return null; + return (str.matches(".*(.)\\1.*")); } public static String removeConsecutiveDuplicateCharacters(String str) { - return null; + String k = ""; + + int i; + + for(i =1 ; i < str.length() ; i++ ){ + + if(str.charAt(i) != str.charAt(i-1)) { + + k = k+ str.charAt(i-1); + + } + + } + + if(str.charAt(i-2) != str.charAt(i-1) || k.equals("")){ + + k+= str.charAt(i-1) ; + + } + return k; } public static String invertCasing(String str) { + StringBuilder result = new StringBuilder((str.length())); + //for (char c : ) return null; } } \ No newline at end of file From aba0ae166ceb22d51a93cc3d86a4a5253b76bbaf Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 16:51:06 -0400 Subject: [PATCH 13/24] InvertCasingTests passed --- .../rocks/zipcode/quiz4/fundamentals/StringUtils.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java index af06c1b..d2f000b 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -70,7 +70,14 @@ public static String removeConsecutiveDuplicateCharacters(String str) { public static String invertCasing(String str) { StringBuilder result = new StringBuilder((str.length())); - //for (char c : ) - return null; + for (char c : str.toCharArray()){ + if (Character.isUpperCase(c)) { + c = Character.toLowerCase(c); + }else if(Character.isLowerCase(c)){ + c = Character.toUpperCase(c); + } + result.append(c); + } + return result.toString(); } } \ No newline at end of file From 80e9983835289141b3b9659afa29536ad0ea4342 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 18:10:24 -0400 Subject: [PATCH 14/24] getMddleElement tests passed --- .../zipcode/quiz4/arrays/ArrayUtils.java | 12 ++++++- .../quiz4/fundamentals/StringUtils.java | 34 +++++++++---------- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java index 6deaf61..6015dee 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -5,14 +5,24 @@ */ public class ArrayUtils { public static String getMiddleElement(String[] values) { - return null; + int start = 0; + int end = values.length-1; + int mid = start + (end - start)/2; + + return values[mid]; } public static String[] removeMiddleElement(String[] values) { +// int remove = getMiddleElement(values); +// String[] result = new String[values.length- 1]; + + + return null; } public static String getLastElement(String[] values) { + return null; } diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java index d2f000b..8f48715 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -46,26 +46,24 @@ public static Boolean hasDuplicateConsecutiveCharacters(String str) { } public static String removeConsecutiveDuplicateCharacters(String str) { - String k = ""; +// char[] strA = str.toCharArray(); +// char prev = '\0'; +// int k = 0; +// +// for (int i = 0; i < str.length(); i++) +// { +// +// if (prev != strA[i]) { +// strA[k++] = strA[i]; +// prev = strA[i]; +// } +// } + StringBuilder sb = new StringBuilder(); + str.chars().distinct().forEach(c -> sb.append((char) c)); + String result = sb.toString(); - int i; - - for(i =1 ; i < str.length() ; i++ ){ - - if(str.charAt(i) != str.charAt(i-1)) { - - k = k+ str.charAt(i-1); - - } - - } - - if(str.charAt(i-2) != str.charAt(i-1) || k.equals("")){ - - k+= str.charAt(i-1) ; + return result; - } - return k; } public static String invertCasing(String str) { From 14b16aff067d1d6cbffcdf7aa4d80209671544c1 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 18:42:28 -0400 Subject: [PATCH 15/24] all string util tests passed --- .../rocks/zipcode/quiz4/arrays/ArrayUtils.java | 2 +- .../quiz4/fundamentals/StringUtils.java | 18 ++---------------- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java index 6015dee..4993da5 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -13,7 +13,7 @@ public static String getMiddleElement(String[] values) { } public static String[] removeMiddleElement(String[] values) { -// int remove = getMiddleElement(values); +// getMiddleElement(values); // String[] result = new String[values.length- 1]; diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java index 8f48715..3e51dea 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -46,23 +46,9 @@ public static Boolean hasDuplicateConsecutiveCharacters(String str) { } public static String removeConsecutiveDuplicateCharacters(String str) { -// char[] strA = str.toCharArray(); -// char prev = '\0'; -// int k = 0; -// -// for (int i = 0; i < str.length(); i++) -// { -// -// if (prev != strA[i]) { -// strA[k++] = strA[i]; -// prev = strA[i]; -// } -// } - StringBuilder sb = new StringBuilder(); - str.chars().distinct().forEach(c -> sb.append((char) c)); - String result = sb.toString(); - return result; + + return str.replaceAll("(.)(\\1)+", ""); } From b733a2403c8ed9f634a21217e327caee87e63e76 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 19:21:34 -0400 Subject: [PATCH 16/24] getLastElement tests passed --- src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java index 4993da5..577be30 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -13,8 +13,9 @@ public static String getMiddleElement(String[] values) { } public static String[] removeMiddleElement(String[] values) { -// getMiddleElement(values); + String remove = getMiddleElement(values); // String[] result = new String[values.length- 1]; +// result = values.clone(); @@ -23,7 +24,7 @@ public static String[] removeMiddleElement(String[] values) { public static String getLastElement(String[] values) { - return null; + return values[values.length-1]; } public static String[] removeLastElement(String[] values) { From c9cae4ee0a68854210db16495cc4cc2f71f668d8 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 19:47:37 -0400 Subject: [PATCH 17/24] removeLastElement Tests passed --- src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java index 577be30..faa41f4 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -1,5 +1,7 @@ package rocks.zipcode.quiz4.arrays; +import java.util.Arrays; + /** * @author leon on 01/01/2019. */ @@ -28,6 +30,7 @@ public static String getLastElement(String[] values) { } public static String[] removeLastElement(String[] values) { - return null; + + return values = Arrays.copyOfRange(values,0,values.length-1); } } \ No newline at end of file From 6acde64b5aefab84731ae903674e949a7852a897 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 20:02:33 -0400 Subject: [PATCH 18/24] gsetIdTests passed --- src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java | 3 --- .../zipcode/quiz4/objectorientation/account/Account.java | 7 ++++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java index faa41f4..0f1cefc 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -15,9 +15,6 @@ public static String getMiddleElement(String[] values) { } public static String[] removeMiddleElement(String[] values) { - String remove = getMiddleElement(values); -// String[] result = new String[values.length- 1]; -// result = values.clone(); diff --git a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java index 40eb4a8..c248cf1 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java @@ -4,10 +4,15 @@ * @author leon on 30/12/2018. */ public class Account extends BankAccount { + + private Long id ; + public Long getId() { - return null; + return this.id; } public void setId(Long id) { + this.id = id; + } } From 68e6cd94566fe9c03690ffb966eae97746021ea5 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 20:27:42 -0400 Subject: [PATCH 19/24] removeMiddleElementTests passed --- .../zipcode/quiz4/arrays/ArrayUtils.java | 15 +++++++++---- .../objectorientation/account/Account.java | 22 ++++++++++++++++++- .../account/BankAccount.java | 2 +- 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java index 0f1cefc..f8e28a2 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -15,10 +15,17 @@ public static String getMiddleElement(String[] values) { } public static String[] removeMiddleElement(String[] values) { - - - - return null; + String[] result = new String[values.length-1]; + int middle = values.length/2; + for(int i = 0;i < values.length; i++){ + if(i < middle){ + result[i] = values[i]; + } + if (i > middle){ + result[i-1] = values[i]; + } + } + return result; } public static String getLastElement(String[] values) { diff --git a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java index c248cf1..5a391e4 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java @@ -3,10 +3,15 @@ /** * @author leon on 30/12/2018. */ -public class Account extends BankAccount { +public class Account implements Transactable { private Long id ; + public Account() { + } + + + public Long getId() { return this.id; } @@ -15,4 +20,19 @@ public void setId(Long id) { this.id = id; } + + @Override + public void deposit(Double amountToIncreaseBy) { + + } + + @Override + public void withdrawal(Double amountToDecreaseBy) { + + } + + @Override + public Double getBalance() { + return null; + } } diff --git a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java index 70ccb74..279e053 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java @@ -3,7 +3,7 @@ /** * @author leon on 27/12/2018. */ -public class BankAccount { +public class BankAccount extends Account{ public void setBalance(Double val) { } } From eb95677681186eb9a3a3bf3ec1bc90d37926d9bf Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 20:33:42 -0400 Subject: [PATCH 20/24] AccountPolymorphismTests passed --- .../objectorientation/account/Account.java | 15 +-------------- .../objectorientation/account/BankAccount.java | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java index 5a391e4..02bc0ba 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java @@ -3,7 +3,7 @@ /** * @author leon on 30/12/2018. */ -public class Account implements Transactable { +public class Account { private Long id ; @@ -21,18 +21,5 @@ public void setId(Long id) { } - @Override - public void deposit(Double amountToIncreaseBy) { - } - - @Override - public void withdrawal(Double amountToDecreaseBy) { - - } - - @Override - public Double getBalance() { - return null; - } } diff --git a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java index 279e053..f052df5 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java @@ -3,7 +3,22 @@ /** * @author leon on 27/12/2018. */ -public class BankAccount extends Account{ +public class BankAccount extends Account implements Transactable{ public void setBalance(Double val) { } + + @Override + public void deposit(Double amountToIncreaseBy) { + + } + + @Override + public void withdrawal(Double amountToDecreaseBy) { + + } + + @Override + public Double getBalance() { + return null; + } } From 78556d489f17ad56df9b139e56d62188f7cefa60 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 21:55:23 -0400 Subject: [PATCH 21/24] all bankaccount tests passed --- .../account/BankAccount.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java index f052df5..2bc8ea0 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java @@ -4,21 +4,30 @@ * @author leon on 27/12/2018. */ public class BankAccount extends Account implements Transactable{ + private double balance; + public void setBalance(Double val) { + this.balance = val; } @Override - public void deposit(Double amountToIncreaseBy) { - + public void deposit(Double amountToIncreaseBy) throws IllegalArgumentException { + if(amountToIncreaseBy < 0){ + throw new IllegalArgumentException(); + } + balance += amountToIncreaseBy; } @Override - public void withdrawal(Double amountToDecreaseBy) { - + public void withdrawal(Double amountToDecreaseBy) throws IllegalArgumentException { + if(balance < amountToDecreaseBy || amountToDecreaseBy < 0){ + throw new IllegalArgumentException(); + } + balance -= amountToDecreaseBy; } @Override public Double getBalance() { - return null; + return balance; } } From ddf6d4a984c1e3af0253fcb602748fcb605b8f65 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 22:21:09 -0400 Subject: [PATCH 22/24] all bank tests passed --- .../quiz4/objectorientation/account/Bank.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Bank.java b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Bank.java index 0dd4183..d962de0 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Bank.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Bank.java @@ -1,17 +1,30 @@ package rocks.zipcode.quiz4.objectorientation.account; +import java.util.ArrayList; +import java.util.List; + /** * @author leon on 27/12/2018. */ public class Bank { + private List accounts; + + public Bank() { + this.accounts = new ArrayList<>(); + } + public BankAccount removeBankAccountByIndex(Integer indexNumber) { - return null; + BankAccount newAccount = accounts.get(indexNumber); + accounts.remove((int)indexNumber); + return newAccount; } public void addBankAccount(BankAccount bankAccount) { + accounts.add(bankAccount); } public Boolean containsBankAccount(BankAccount bankAccount) { - throw new UnsupportedOperationException("Method not yet implemented"); + return accounts.contains(bankAccount); + //throw new UnsupportedOperationException("Method not yet implemented"); } } From 0b98d5fac8bf4e7c64c8dabd7e25c2db5c56e34b Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Fri, 20 Mar 2020 22:59:56 -0400 Subject: [PATCH 23/24] all employee tests passed --- .../objectorientation/account/Employee.java | 60 ++++++++++++++++++- 1 file changed, 57 insertions(+), 3 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Employee.java b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Employee.java index 8407f1a..15e05be 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Employee.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Employee.java @@ -3,18 +3,72 @@ /** * @author leon on 30/12/2018. */ -public class Employee { - public Employee() { +public class Employee implements Worker, Transactable{ + + private BankAccount bankAccount; + private Double hoursWorked; + private Double wage; + + + + + public Employee(){ + bankAccount = new BankAccount(); + hoursWorked = 0.0; + wage = 35.0; } public Employee(BankAccount bankAccount) { + this.bankAccount = bankAccount; + this.wage = 35.00; + this.hoursWorked = 0.0; } + + public BankAccount getBankAccount() { - return null; + return bankAccount; } public void setBankAccount(BankAccount bankAccount) { + this.bankAccount = bankAccount; + + } + + @Override + public void deposit(Double amountToIncreaseBy) { + bankAccount.deposit(amountToIncreaseBy); + } + + @Override + public void withdrawal(Double amountToDecreaseBy) { + bankAccount.withdrawal(amountToDecreaseBy); + + } + + @Override + public Double getBalance() { + return bankAccount.getBalance(); + } + + @Override + public void increaseHoursWorked(Double numberOfHours) { + hoursWorked += numberOfHours; + + } + + @Override + public Double getHoursWorked() { + return this.hoursWorked; + } + + @Override + public Double getHourlyWage() { + return wage; + } + @Override + public Double getMoneyEarned() { + return this.wage * this.hoursWorked; } } From 1ac0707f7098e913d636a8365e79cb132eab60d3 Mon Sep 17 00:00:00 2001 From: Mo Russ Date: Sat, 21 Mar 2020 12:16:30 -0400 Subject: [PATCH 24/24] all collections tests passed --- .../quiz4/collections/WordCounter.java | 17 +++++++++-- .../quiz4/collections/culonary/Curry.java | 7 ++++- .../quiz4/collections/culonary/Food.java | 30 +++++++++++++++++-- .../quiz4/collections/culonary/Ginger.java | 7 ++++- .../quiz4/collections/culonary/Pepper.java | 7 ++++- .../quiz4/collections/culonary/Spice.java | 2 ++ 6 files changed, 61 insertions(+), 9 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java b/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java index 2bf5ec2..034a867 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java @@ -1,12 +1,23 @@ package rocks.zipcode.quiz4.collections; +import java.util.HashMap; import java.util.Map; public class WordCounter { + Map wordCount = new HashMap(); public WordCounter(String... strings) { - } - public Map getWordCountMap() { - return null; + for (String word : strings) { + if (!wordCount.containsKey(word)) { + wordCount.put(word, 1); + } else { + int count = wordCount.get(word); + wordCount.put(word, count + 1); + } + } } + public Map getWordCountMap (){ + return wordCount; + } + } diff --git a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Curry.java b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Curry.java index 199cefc..00530f5 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Curry.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Curry.java @@ -1,4 +1,9 @@ package rocks.zipcode.quiz4.collections.culonary; -public class Curry { +public class Curry implements Spice{ + private String curry = "curry"; + @Override + public String getName() { + return curry; + } } diff --git a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java index e06abbc..86b76a3 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java @@ -1,5 +1,7 @@ package rocks.zipcode.quiz4.collections.culonary; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -7,14 +9,36 @@ * @author leon on 27/12/2018. */ public class Food { + private List spiceList; + private Map, Integer> spiceMap; + + public Food() { + this.spiceList = new ArrayList<>(); + this.spiceMap = new HashMap<>(); + } + public List getAllSpices() { - return null; + return spiceList; } - public > Map getSpiceCount() { - return null; + + + public Map, Integer> getSpiceCount() { + + + return spiceMap; } public void applySpice(Spice spice) { + if (!spiceMap.containsKey(spice.getClass())) { + spiceMap.put(spice.getClass(), 1); + } else { + int numOfSpice = spiceMap.get(spice.getClass()); + spiceMap.put(spice.getClass(), numOfSpice + 1); + } + spiceList.add(spice); + } + + } diff --git a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Ginger.java b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Ginger.java index 3c4e177..a0c3d28 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Ginger.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Ginger.java @@ -3,5 +3,10 @@ /** * @author leon on 27/12/2018. */ -public class Ginger { +public class Ginger implements Spice{ + private String ginger = "ginger"; + @Override + public String getName() { + return ginger; + } } diff --git a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Pepper.java b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Pepper.java index 4b771a8..a394e04 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Pepper.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Pepper.java @@ -3,5 +3,10 @@ /** * @author leon on 27/12/2018. */ -public class Pepper { +public class Pepper implements Spice{ + private String pepper = "black pepper"; + @Override + public String getName() { + return pepper; + } } diff --git a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Spice.java b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Spice.java index 9ab865b..6459119 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Spice.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Spice.java @@ -4,4 +4,6 @@ * @author leon on 27/12/2018. */ public interface Spice { + String getName(); } +