diff --git a/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java b/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java index 2bf5ec2..b52fb72 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java @@ -1,12 +1,41 @@ package rocks.zipcode.quiz4.collections; -import java.util.Map; +import java.util.*; public class WordCounter { + private final String[] stringArray; + public WordCounter(String... strings) { + this.stringArray= strings; } public Map getWordCountMap() { - return null; + Map map = new HashMap<>(); + List allWords = getAllWords(); + for(String word : allWords) { + map.put(word, getNumberOfOccurrences(allWords, word)); + } + return map; + } + + private Integer getNumberOfOccurrences(List allWords, String wordToCheck) { + int count = 0; + for(String word : allWords) { + if(word.equals(wordToCheck)) { + count++; + } + } + return count; + } + + private List getAllWords() { + List result = new ArrayList<>(); + for(String string : stringArray) { + String[] words = string.split(" "); + for(String word : words) { + result.add(word); + } + } + return result; } } 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..9502b69 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java @@ -12,7 +12,8 @@ public List getAllSpices() { } public > Map getSpiceCount() { - return null; + Map spiceCount = null; + return spiceCount; } public void applySpice(Spice 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..f627101 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,6 @@ /** * @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..95a0a1d 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -5,15 +5,19 @@ */ 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; + Double[] array; + for (int currentIndex = 0; currentIndex < value.length; currentIndex++) { + Double element = value[currentIndex]; + squareRoot(element); + }return null; } public static Double[] squares(Double... values) { @@ -21,15 +25,15 @@ 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) { - 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..94d3cd4 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -5,15 +5,16 @@ */ public class StringUtils { public static Character getMiddleCharacter(String string) { - return null; + char middleChar = string.charAt(string.length()/2); + return middleChar; } public static String capitalizeMiddleCharacter(String str) { - return null; + return getMiddleCharacter(str).toString().toUpperCase(); } public static String lowerCaseMiddleCharacter(String str) { - return null; + return getMiddleCharacter(str).toString().toLowerCase(); } public static Boolean isIsogram(String str) { @@ -21,14 +22,39 @@ public static Boolean isIsogram(String str) { } public static Boolean hasDuplicateConsecutiveCharacters(String str) { - return null; + char[] duplicateCharacters = str.toCharArray(); + char previousElement; + for (int currentIndex = 1; currentIndex < duplicateCharacters.length; currentIndex++) { + char currentElement = duplicateCharacters[currentIndex]; + previousElement = duplicateCharacters[currentIndex-1]; + if(previousElement == currentElement){ + return true; + } + } + return false; } public static String removeConsecutiveDuplicateCharacters(String str) { - return null; + String result = ""; + char[] duplicateCharacters = str.toCharArray(); + for (int currentIndex = 0; currentIndex < duplicateCharacters.length; currentIndex++){ + char currentElement = duplicateCharacters[currentIndex]; + if(!hasDuplicateConsecutiveCharacters(str)){ + result += currentElement; + } + } + return result; } public static String invertCasing(String str) { - return null; - } + // String result = ""; + // Character[] invertedChar = str.toCharArray().toString().toUpperCase(); + // Character lowerCaseFirstChar = str.toCharArray().toString().toLowerCase(); + // for (int currentIndex = 0; currentIndex < invertedChar.length; currentIndex++) { + // char currentElement = invertedChar[currentIndex]; + // if (currentElement == invertedChar[currentIndex+1]) { + // } + // } + return null; + } } \ No newline at end of file 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..467318b 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,13 @@ * @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; } } 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..92d0058 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,26 @@ package rocks.zipcode.quiz4.objectorientation.account; +import java.util.ArrayList; +import java.util.List; + /** * @author leon on 27/12/2018. */ public class Bank { + List bankAccountList = new ArrayList<>(); + + public BankAccount removeBankAccountByIndex(Integer indexNumber) { - return null; + BankAccount account = bankAccountList.get(indexNumber); + bankAccountList.remove(account); + return account; } public void addBankAccount(BankAccount bankAccount) { + bankAccountList.add(bankAccount); } public Boolean containsBankAccount(BankAccount bankAccount) { - throw new UnsupportedOperationException("Method not yet implemented"); + return bankAccountList.contains(bankAccount); } } 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..2db7478 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,25 @@ /** * @author leon on 27/12/2018. */ -public class BankAccount { - public void setBalance(Double val) { +public class BankAccount implements Transactable { + private Double balance = 0.0; + + public void setBalance(Double balance) { + this.balance = balance; + } + + @Override + public void deposit(Double amountToIncreaseBy) { + setBalance(getBalance() + amountToIncreaseBy); + } + + @Override + public void withdrawal(Double amountToDecreaseBy) { + deposit(-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..fd04440 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,63 @@ /** * @author leon on 30/12/2018. */ -public class Employee { +public class Employee implements Transactable, Worker { + private BankAccount bankAccount; + private double numberOfHoursWorked; + private double hourlyWage; + public Employee() { + this.hourlyWage = 35.0; + this.numberOfHoursWorked = 0.0; + this.bankAccount = new BankAccount(); } + public Employee(BankAccount bankAccount) { + this.bankAccount = bankAccount; } 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) { + this.numberOfHoursWorked += numberOfHours; + } + + @Override + public Double getHoursWorked() { + return this.numberOfHoursWorked; + } + + @Override + public Double getHourlyWage() { + return hourlyWage; + } + @Override + public Double getMoneyEarned() { + return getHourlyWage() * numberOfHoursWorked; } }