diff --git a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java index 6deaf61..9c56e08 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -5,18 +5,34 @@ */ 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 RM[]= new String[(values.length-1)]; + int count=0; + for (int i=0; i< values.length; i++) + if( i==values.length/2) + { + + } + else{ + RM[count]= values[i]; + count++; + } + return RM; } public static String getLastElement(String[] values) { - return null; + return values[values.length-1]; } public static String[] removeLastElement(String[] values) { - return null; + String RL[] = new String[(values.length - 1)]; + for (int i = 0; i < values.length - 1; i++) + { + RL[i] = values[i]; + } + return RL; } } \ No newline at end of file diff --git a/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java b/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java index 2bf5ec2..869fa90 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java @@ -1,12 +1,24 @@ package rocks.zipcode.quiz4.collections; +import java.util.HashMap; import java.util.Map; public class WordCounter { + String[] arr; public WordCounter(String... strings) { + arr= strings; } + public Map getWordCountMap() { - return null; + Map map =new HashMap<>(); + for(String x : arr){ + if(map.containsKey(x)){ + map.replace(x, map.get(x)+1); + }else{ + map.put(x,1); + } + } + return map; } } 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..c4aeb81 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,13 @@ package rocks.zipcode.quiz4.collections.culonary; -public class Curry { +public class Curry implements Spice { + private String name; + public Curry(){ + this.name= this.getClass().getSimpleName(); + } + + @Override + public String getName() { + return name; + } } 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..db1b9be 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,18 @@ * @author leon on 27/12/2018. */ public class Food { + List spices=new ArrayList<>(); public List getAllSpices() { - return null; + return this.spices; } public > Map getSpiceCount() { - return null; + Map spiceCount = new HashMap<>(); + spiceCount.put((SpiceType)spices.get(0).getClass(), spices.size()); + return spiceCount; } public void applySpice(Spice spice) { + spices.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..e1d6507 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,14 @@ /** * @author leon on 27/12/2018. */ -public class Ginger { +public class Ginger implements Spice{ + private String name; + public Ginger(){ + this.name =this.getClass().getSimpleName(); + } + + @Override + public String getName() { + return name; + } } 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..6edc329 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,14 @@ /** * @author leon on 27/12/2018. */ -public class Pepper { +public class Pepper implements Spice{ + private String name; + public Pepper(){ + this.name =this.getClass().getSimpleName(); + } + + @Override + public String getName() { + return name; + } } 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 02f2618..a0417b6 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; + 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] = values[i] * values[i]; + } + 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; } 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..d9b683e 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -1,34 +1,73 @@ package rocks.zipcode.quiz4.fundamentals; + /** * @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; + return str.substring(0, str.length() / 2) + + getMiddleCharacter(str.toUpperCase()) + str.substring(str.length() / 2 + 1); + } public static String lowerCaseMiddleCharacter(String str) { - return null; + return str.substring(0, (str.length() / 2))+ + getMiddleCharacter(str.toLowerCase()) + str.substring(str.length() / 2+1); } public static Boolean isIsogram(String str) { - return null; + + for( int i =1; i accountList= new ArrayList<>(); public BankAccount removeBankAccountByIndex(Integer indexNumber) { - return null; + BankAccount removed = accountList.get(indexNumber); + accountList.remove(removed); + return removed; } public void addBankAccount(BankAccount bankAccount) { + accountList.add(bankAccount); } public Boolean containsBankAccount(BankAccount bankAccount) { - throw new UnsupportedOperationException("Method not yet implemented"); + return accountList.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..67bea91 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,39 @@ /** * @author leon on 27/12/2018. */ -public class BankAccount { - public void setBalance(Double val) { +public class BankAccount extends Account implements Transactable { + private Double balance; + + public BankAccount() { + this.balance= 0.0; } -} + + + + @Override + public void deposit(Double amountToIncreaseBy) { + if (amountToIncreaseBy < 0) + throw new IllegalArgumentException(); + balance += amountToIncreaseBy; + } + + + @Override + public void withdrawal (Double amountToDecreaseBy){ + if (amountToDecreaseBy < 0 || balance - amountToDecreaseBy<0) throw new IllegalArgumentException(); + balance -= amountToDecreaseBy; + } + + + @Override + public Double getBalance () { + return balance; + } + public void setBalance (Double val){ + this.balance = val; + + } + + + } + 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..30aa007 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,74 @@ /** * @author leon on 30/12/2018. */ -public class Employee { +public class Employee extends BankAccount implements Worker, Transactable{ + + private BankAccount personalAccount; + private Double numberOfHours; + private Double hourlyWage; + private Double moneyEarned; + public Employee() { + this(new BankAccount()); + + } + public Employee(BankAccount bankAccount) { + this.personalAccount = bankAccount; + this.hourlyWage = 35.0; + this.numberOfHours =0.0; + this.moneyEarned= 0.0; + } + + public BankAccount getBankAccount() { - return null; + + return personalAccount; } public void setBankAccount(BankAccount bankAccount) { + this.personalAccount= bankAccount; + + } + + @Override + public void deposit(Double amountToIncreaseBy) { + personalAccount.deposit(amountToIncreaseBy); + } + @Override + public void withdrawal(Double amountToDecreaseBy) { + personalAccount.withdrawal(amountToDecreaseBy); + } + + @Override + public Double getBalance() { + return personalAccount.getBalance(); + } + + @Override + public void increaseHoursWorked(Double numberOfHours) { + this.numberOfHours += numberOfHours; + } + + @Override + public Double getHoursWorked() { + return numberOfHours; + } + + @Override + public Double getHourlyWage() { + return hourlyWage; + } + + @Override + public Double getMoneyEarned() { + return moneyEarned; } } + + diff --git a/src/test/java/rocks/zipcode/quiz4/objectorientation/bankaccount/WithdrawalPositiveTest.java b/src/test/java/rocks/zipcode/quiz4/objectorientation/bankaccount/WithdrawalPositiveTest.java index b72a6b2..83854f3 100644 --- a/src/test/java/rocks/zipcode/quiz4/objectorientation/bankaccount/WithdrawalPositiveTest.java +++ b/src/test/java/rocks/zipcode/quiz4/objectorientation/bankaccount/WithdrawalPositiveTest.java @@ -50,4 +50,4 @@ public void test(Double initialBalance, Double withdrawalAmount) { // then Assert.assertEquals(expected, actual); } -} +} \ No newline at end of file