From c302cd133176d6379814776d9b891706151533b6 Mon Sep 17 00:00:00 2001 From: cwilliams Date: Fri, 20 Mar 2020 15:23:52 -0400 Subject: [PATCH 1/5] squareRoots done --- .../quiz4/fundamentals/Calculator.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java index 02f2618..b1d1977 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -1,31 +1,43 @@ 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; + return value * 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) { - 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) { - return null; + return value1 + value2; } public static Double subtract(Double value1, Double value2) { - return null; + return value1 - value2; } From af85c63fd2aa6764af8ce0d963305137ac02eb8e Mon Sep 17 00:00:00 2001 From: cwilliams Date: Fri, 20 Mar 2020 18:48:39 -0400 Subject: [PATCH 2/5] remove dups --- .../quiz4/fundamentals/StringUtils.java | 51 +++++++++++++++---- 1 file changed, 42 insertions(+), 9 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java index 5ec61be..8ae10ab 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -1,34 +1,67 @@ package rocks.zipcode.quiz4.fundamentals; +import java.util.Arrays; +import java.util.HashMap; + /** * @author leon on 21/12/2018. */ public class StringUtils { public static Character getMiddleCharacter(String string) { - return null; + return string.charAt(string.length()/2); } public static String capitalizeMiddleCharacter(String str) { - return null; + char[] arr = str.toCharArray(); + int middle = arr.length/2; + arr[middle] = Character.toUpperCase(arr[middle]); + String result = new String(arr); + return result; } public static String lowerCaseMiddleCharacter(String str) { - return null; + char[] arr = str.toCharArray(); + int middle = arr.length/2; + arr[middle] = Character.toLowerCase(arr[middle]); + String result = new String(arr); + + return result; } public static Boolean isIsogram(String str) { - return null; - } + // Convert the string in lower case letters + //str = str.toLowerCase(); + int len = str.length(); + char arr[] = str.toCharArray(); + Arrays.sort(arr); + for (int i = 0; i < len - 1; i++) { + if (arr[i] == arr[i + 1]) + return false; + } + return true; + } public static Boolean hasDuplicateConsecutiveCharacters(String str) { - return null; + return (str.matches(".*(.)\\1.*")); } - public static String removeConsecutiveDuplicateCharacters(String str) { - return null; + + //return str.replaceAll("(.+?)\\1+", ""); + //return str.replaceAll("([a-zA-Z])\\1\\1+", "$1$1$1"); + //return str.replaceAll("((.)\\2{2})\\2+","$1$1"); + return str.replaceAll("(.)(\\1)",""); } public static String invertCasing(String str) { - return null; + StringBuilder result = new StringBuilder(str.length()); + 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 548089b1c11ea1c1ea1d5da9cdd2c84616fca48c Mon Sep 17 00:00:00 2001 From: cwilliams Date: Fri, 20 Mar 2020 21:26:07 -0400 Subject: [PATCH 3/5] completed arrays --- .../rocks/zipcode/quiz4/arrays/ArrayUtils.java | 18 ++++++++++++++---- 1 file changed, 14 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 6deaf61..8e4ba0c 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -1,22 +1,32 @@ package rocks.zipcode.quiz4.arrays; +import java.util.Arrays; + /** * @author leon on 01/01/2019. */ public class ArrayUtils { public static String getMiddleElement(String[] values) { - return null; + + return values[values.length / 2]; } public static String[] removeMiddleElement(String[] values) { - return null; + String[] arr = new String[values.length - 1]; + for (int i = 0; i < values.length / 2; i++) { + arr[i] = values[i]; + } + for (int i = values.length / 2; i < arr.length; i++) { + arr[i] = values[i + 1]; + } + return arr; } public static String getLastElement(String[] values) { - return null; + return values[values.length-1]; } public static String[] removeLastElement(String[] values) { - return null; + return values = Arrays.copyOfRange(values, 0,values.length-1); } } \ No newline at end of file From e8f896b5387632c30290e0df8c0379e5ffd4d769 Mon Sep 17 00:00:00 2001 From: cwilliams Date: Fri, 20 Mar 2020 23:04:54 -0400 Subject: [PATCH 4/5] bank completed --- .../objectorientation/account/Account.java | 8 ++- .../quiz4/objectorientation/account/Bank.java | 16 +++++- .../account/BankAccount.java | 27 +++++++++- .../objectorientation/account/Employee.java | 52 ++++++++++++++++++- 4 files changed, 96 insertions(+), 7 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 40eb4a8..fbb0303 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Account.java @@ -3,11 +3,15 @@ /** * @author leon on 30/12/2018. */ -public class Account extends BankAccount { +public class Account { + private Long id; + public Account(){} public Long getId() { - return null; + + return this.id; } public void setId(Long id) { + this.id = id; } } 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..2d49896 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,29 @@ 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); + this.accounts.remove((int) indexNumber); + return newAccount; } public void addBankAccount(BankAccount bankAccount) { + this.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"); } } 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..456adea 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,32 @@ /** * @author leon on 27/12/2018. */ -public class BankAccount { +public class BankAccount extends Account implements Transactable { + private double balance; + public void setBalance(Double val) { + this.balance = val; + } + + @Override + public void deposit(Double amountToIncreaseBy) throws IllegalArgumentException { + if (amountToIncreaseBy < 0) { + throw new IllegalArgumentException(); + } + balance += amountToIncreaseBy; + } + + @Override + public void withdrawal(Double amountToDecreaseBy) throws IllegalArgumentException { + if(balance < amountToDecreaseBy || amountToDecreaseBy < 0){ + throw new IllegalArgumentException(); + } + balance -= amountToDecreaseBy; + } + + @Override + public Double getBalance() { + return balance; } + } 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..34aba74 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,66 @@ /** * @author leon on 30/12/2018. */ -public class 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 hoursWorked; + } + + @Override + public Double getHourlyWage() { + return wage; + } + @Override + public Double getMoneyEarned() { + return hoursWorked * wage; } } From b1b51465f7b933728634e129b657f0df9648c30c Mon Sep 17 00:00:00 2001 From: cwilliams Date: Sat, 21 Mar 2020 12:38:40 -0400 Subject: [PATCH 5/5] quiz complete --- .../quiz4/collections/WordCounter.java | 15 +++++++++-- .../quiz4/collections/culonary/Curry.java | 8 +++++- .../quiz4/collections/culonary/Food.java | 25 ++++++++++++++++--- .../quiz4/collections/culonary/Ginger.java | 8 +++++- .../quiz4/collections/culonary/Pepper.java | 7 +++++- .../quiz4/collections/culonary/Spice.java | 1 + .../quiz4/fundamentals/Calculator.java | 3 ++- 7 files changed, 58 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..29ee28b 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 { + MapwordCount = new HashMap(); public WordCounter(String... strings) { - } + + 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 null; + 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..f4786aa 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,10 @@ 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..ad1697c 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,31 @@ * @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..92c7c47 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,11 @@ /** * @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..613edc2 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 = "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..e73857c 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,5 @@ * @author leon on 27/12/2018. */ public interface Spice { + String getName(); } diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java index b1d1977..8c117f5 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -42,6 +42,7 @@ public static Double subtract(Double value1, Double value2) { public static Double divide(Double divisor, Double dividend) { - return null; + + return divisor / dividend; } }