From ea931183e5b077022bcd6cc856562995ec067e84 Mon Sep 17 00:00:00 2001 From: Brian Patterson Date: Mon, 9 Dec 2019 19:51:01 -0500 Subject: [PATCH 1/3] Started --- .../zipcode/quiz4/arrays/ArrayUtils.java | 19 ++++-- .../quiz4/collections/culonary/Curry.java | 2 +- .../quiz4/collections/culonary/Food.java | 26 +++++++- .../quiz4/collections/culonary/Ginger.java | 2 +- .../quiz4/collections/culonary/Pepper.java | 2 +- .../quiz4/fundamentals/Calculator.java | 20 +++--- .../quiz4/fundamentals/StringUtils.java | 61 ++++++++++++++++--- 7 files changed, 108 insertions(+), 24 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..ddeeed6 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -5,18 +5,29 @@ */ 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[] newArray = new String[values.length - 1]; + for (int i = 0; i < values.length / 2; i++) { + newArray[i] = values[i]; + } + for (int i = (values.length/2)+1; i < newArray.length; i++) { + newArray[i-1] = values[i]; + } + return newArray; } public static String getLastElement(String[] values) { - return null; + return values[values.length - 1]; } public static String[] removeLastElement(String[] values) { - return null; + String[] newArray = new String[values.length - 1]; + for (int i = 0; i < newArray.length; i++) { + newArray[i] = values[i]; + } + return newArray; } } \ No newline at end of file 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..c6b96b4 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,4 @@ package rocks.zipcode.quiz4.collections.culonary; -public class Curry { +public class Curry implements Spice { } 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..29d3d56 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,9 @@ package rocks.zipcode.quiz4.collections.culonary; +import com.sun.codemodel.internal.JForEach; + +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -7,14 +11,32 @@ * @author leon on 27/12/2018. */ public class Food { + ListspiceList; + + public Food(){ + this.spiceList = new ArrayList(); + } + public List getAllSpices() { - return null; + return this.spiceList; } public > Map getSpiceCount() { - return null; + /*Map spiceCount = new HashMap<>(); + for (Spice s: spiceList) { + if (!spiceCount.containsKey(s)) { + spiceCount.put(s, 1); + } else { + spiceCount.put(s, spiceCount.get(s) + 1); + } + + } + return spiceCount; + }*/ + return null; } public void applySpice(Spice spice) { + 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..1667d46 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,5 @@ /** * @author leon on 27/12/2018. */ -public class Ginger { +public class Ginger implements Spice { } 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..eafd2a5 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,5 @@ /** * @author leon on 27/12/2018. */ -public class Pepper { +public class Pepper implements Spice { } diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java index 02f2618..629b0d7 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -5,31 +5,37 @@ */ public class Calculator { public static Double squareRoot(Double value) { - return null; + return Math.sqrt(value); } public static Double square(Double value) { - return null; + return value * value; } public static Double[] squareRoots(Double... value) { - return null; + for (int i = 0; i < value.length; i++) { + value[i]=Math.sqrt(value[i]); + } + return value; } public static Double[] squares(Double... values) { - return null; + for (int i = 0; i < values.length; i++) { + values[i]=values[i]*values[i]; + } + return values; } 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; } public static Double divide(Double divisor, Double dividend) { - return null; + return divisor/dividend; } } diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java index 5ec61be..45b68cd 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -1,34 +1,79 @@ package rocks.zipcode.quiz4.fundamentals; +import java.util.Arrays; + /** * @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; + String newStr = ""; + int index = str.length() / 2; + newStr += str.substring(0, index); + newStr += Character.toUpperCase(str.charAt(index)); + newStr += str.substring(index + 1); + return newStr; } public static String lowerCaseMiddleCharacter(String str) { - return null; + String newStr = ""; + int index = str.length() / 2; + newStr += str.substring(0, index); + newStr += Character.toLowerCase(str.charAt(index)); + newStr += str.substring(index + 1); + return newStr; } public static Boolean isIsogram(String str) { - return null; + String string = str.toLowerCase(); + char arr[] = str.toCharArray(); + + Arrays.sort(arr); + for (int i = 0; i < string.length() - 1; i++) { + if (arr[i] == arr[i + 1]) + return false; + } + return true; } + public static Boolean hasDuplicateConsecutiveCharacters(String str) { - return null; + for (int i = 0; i < str.length() - 1; i++) { + if (str.charAt(i) == str.charAt(i + 1)) { + return true; + } + } + return false; } public static String removeConsecutiveDuplicateCharacters(String str) { - return null; + String string = ""; + + for (int i = 0; i < str.length()-1; i++) { + if (str.charAt(i) == str.charAt(i + 1)) { + i=i+2; + } + string += str.charAt(i); + } + return string; } public static String invertCasing(String str) { - return null; + String string = ""; + for (int i = 0; i < str.length(); i++) { + if (Character.isUpperCase(str.charAt(i))) { + string += Character.toLowerCase(str.charAt(i)); + } else if (Character.isLowerCase(str.charAt(i))) { + string += Character.toUpperCase(str.charAt(i)); + }else{ + string+=str.charAt(i); + + } + } -} \ No newline at end of file + return string; +}} \ No newline at end of file From 0fd34f57f0aa3dad559c697400b558fcb50ac803 Mon Sep 17 00:00:00 2001 From: Brian Patterson Date: Tue, 10 Dec 2019 03:15:42 -0500 Subject: [PATCH 2/3] Updated --- .../objectorientation/account/Account.java | 6 +- .../quiz4/objectorientation/account/Bank.java | 25 +++++++- .../account/BankAccount.java | 32 ++++++++++- .../objectorientation/account/Employee.java | 57 ++++++++++++++++++- 4 files changed, 112 insertions(+), 8 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..2c0b88f 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,13 @@ /** * @author leon on 30/12/2018. */ -public class Account extends BankAccount { +public class Account { + private Long id; 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..fb6e3bd 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,36 @@ package rocks.zipcode.quiz4.objectorientation.account; +import java.util.ArrayList; +import java.util.List; + /** * @author leon on 27/12/2018. */ public class Bank { - public BankAccount removeBankAccountByIndex(Integer indexNumber) { - return null; + ArrayList accounts; + + + + + public Bank(){ + this.accounts = new ArrayList<>(); + } + + public Bank(ArrayList accounts) { + this.accounts = accounts; + } + + + public void removeBankAccountByIndex(Integer indexNumber) { + this.accounts.remove(indexNumber); } public void addBankAccount(BankAccount bankAccount) { + this.accounts.add(bankAccount); } public Boolean containsBankAccount(BankAccount bankAccount) { - throw new UnsupportedOperationException("Method not yet implemented"); + return this.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..38502d8 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,37 @@ /** * @author leon on 27/12/2018. */ -public class BankAccount { +public class BankAccount extends Account implements Transactable { + private Double balance; + + + public BankAccount(){ + this.balance=0.0; + } 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 this.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..a701754 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,71 @@ /** * @author leon on 30/12/2018. */ -public class Employee { +public class Employee implements Worker, Transactable { + BankAccount bankAccount; + Double hourlyWage; + Double hoursWorked; + + public Employee() { + this.bankAccount = new BankAccount(); + this.hourlyWage = 35.0; + this.hoursWorked = 0.0; } public Employee(BankAccount bankAccount) { + this.bankAccount = bankAccount; + this.hourlyWage=35.0; + this.hoursWorked=0.0; + } + + public Employee(BankAccount bankAccount, Double hourlyWage, Double hoursWorked) { + this.bankAccount = bankAccount; + this.hourlyWage = hourlyWage; + this.hoursWorked = hoursWorked; } public BankAccount getBankAccount() { - return null; + return this.bankAccount; } public void setBankAccount(BankAccount bankAccount) { + this.bankAccount = bankAccount; + } + + @Override + public void deposit(Double amountToIncreaseBy) { + this.bankAccount.deposit(amountToIncreaseBy); + + } + + @Override + public void withdrawal(Double amountToDecreaseBy) { + this.bankAccount.withdrawal(amountToDecreaseBy); + } + + @Override + public Double getBalance() { + return this.bankAccount.getBalance(); + } + + @Override + public void increaseHoursWorked(Double numberOfHours) { + this.hoursWorked+=numberOfHours; + } + + @Override + public Double getHoursWorked() { + return this.hoursWorked; + } + + @Override + public Double getHourlyWage() { + return this.hourlyWage; + } + @Override + public Double getMoneyEarned() { + return this.hourlyWage * this.hoursWorked; } } From 8db4833398f74fdc9703ba69b95f4b8acdd3c53c Mon Sep 17 00:00:00 2001 From: Brian Patterson Date: Tue, 10 Dec 2019 04:03:26 -0500 Subject: [PATCH 3/3] Turning in --- .../rocks/zipcode/quiz4/arrays/ArrayUtils.java | 4 ++-- .../zipcode/quiz4/collections/WordCounter.java | 16 +++++++++++++++- .../zipcode/quiz4/collections/culonary/Food.java | 13 +++++++------ .../quiz4/objectorientation/account/Bank.java | 10 ++-------- 4 files changed, 26 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 ddeeed6..aad96e9 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -13,8 +13,8 @@ public static String[] removeMiddleElement(String[] values) { for (int i = 0; i < values.length / 2; i++) { newArray[i] = values[i]; } - for (int i = (values.length/2)+1; i < newArray.length; i++) { - newArray[i-1] = values[i]; + for (int i = (values.length/2); i < newArray.length; i++) { + newArray[i] = values[i+1]; } return newArray; } diff --git a/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java b/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java index 2bf5ec2..99320e4 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java @@ -1,12 +1,26 @@ package rocks.zipcode.quiz4.collections; +import java.util.HashMap; import java.util.Map; public class WordCounter { + String[]strings; + public WordCounter(String... strings) { + this.strings=strings; } public Map getWordCountMap() { - return null; + MapwordCount=new HashMap<>(); + for (String word:strings){ + + if (!wordCount.containsKey(word)) { + wordCount.put(word, 1); + } else { + wordCount.put(word, wordCount.get(word) + 1); + } + + } + return wordCount; } } 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 29d3d56..cece18a 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java @@ -22,20 +22,21 @@ public List getAllSpices() { } public > Map getSpiceCount() { - /*Map spiceCount = new HashMap<>(); + Map spiceCount = new HashMap<>(); for (Spice s: spiceList) { - if (!spiceCount.containsKey(s)) { - spiceCount.put(s, 1); + SpiceType spicy = (SpiceType)s.getClass(); + if (!spiceCount.containsKey(spicy)) { + spiceCount.put(spicy, 1); } else { - spiceCount.put(s, spiceCount.get(s) + 1); + spiceCount.put(spicy, spiceCount.get(spicy) + 1); } } return spiceCount; - }*/ - return null; } + + public void applySpice(Spice spice) { spiceList.add(spice); } 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 fb6e3bd..4fecc15 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Bank.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Bank.java @@ -9,22 +9,16 @@ public class Bank { ArrayList accounts; - - - public Bank(){ this.accounts = new ArrayList<>(); } - public Bank(ArrayList accounts) { - this.accounts = accounts; - } - public void removeBankAccountByIndex(Integer indexNumber) { + public BankAccount removeBankAccountByIndex(Integer indexNumber) { this.accounts.remove(indexNumber); + return null; } - public void addBankAccount(BankAccount bankAccount) { this.accounts.add(bankAccount); }