From bb4a85dce9627d5d7cc5789f9d64117d9a19019f Mon Sep 17 00:00:00 2001 From: vaidehi4321 <56602405+vaidehi4321@users.noreply.github.com> Date: Mon, 9 Dec 2019 20:50:50 -0500 Subject: [PATCH 1/3] working on it --- .../zipcode/quiz4/arrays/ArrayUtils.java | 31 +++++++- .../quiz4/collections/culonary/Curry.java | 8 +- .../quiz4/collections/culonary/Ginger.java | 7 +- .../quiz4/collections/culonary/Pepper.java | 7 +- .../quiz4/fundamentals/Calculator.java | 37 ++++++++-- .../quiz4/fundamentals/StringUtils.java | 73 +++++++++++++++++-- .../objectorientation/account/Account.java | 9 ++- .../quiz4/objectorientation/account/Bank.java | 30 +++++++- .../account/BankAccount.java | 32 +++++++- .../objectorientation/account/Employee.java | 63 +++++++++++++++- 10 files changed, 268 insertions(+), 29 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..95f0ecb 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -1,22 +1,45 @@ package rocks.zipcode.quiz4.arrays; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + /** * @author leon on 01/01/2019. */ public class ArrayUtils { public static String getMiddleElement(String[] values) { - return null; + int middleIndex = (int) (values.length / 2); + String middle = values[middleIndex]; + + return middle; + } public static String[] removeMiddleElement(String[] values) { - return null; + String middle = ArrayUtils.getMiddleElement(values); + List al = new ArrayList(Arrays.asList(values)); + + List newList = al.stream().filter(x -> !x.equals(middle)).collect(Collectors.toList()); + String[] result = new String[newList.size()]; + newList.toArray(result); + return result; + } public static String getLastElement(String[] values) { - return null; + String result = values[values.length - 1]; + + return result; } public static String[] removeLastElement(String[] values) { - return null; + String last = getLastElement(values); + ArrayList al = new ArrayList<>(Arrays.asList(values)); + List newList = al.stream().filter(x -> !x.equals(last)).collect(Collectors.toList()); + String[] result = new String[newList.size()]; + newList.toArray(result); + return result; } } \ 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..a1995ac 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 static Curry INSTANCE = new Curry(); + + static Curry getInstance(){ + return INSTANCE; + } + } 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..f276656 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 static Ginger INSTANCE = new Ginger(); + + static Ginger getInstance(){ + return INSTANCE; + } } 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..c947f02 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 static Pepper INSTANCE = new Pepper(); + + static Pepper getInstance(){ + return INSTANCE; + } } diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java index 02f2618..2eb9638 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -1,35 +1,58 @@ package rocks.zipcode.quiz4.fundamentals; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** * @author leon on 21/12/2018. */ public class Calculator { public static Double squareRoot(Double value) { - return null; + return (Double) Math.sqrt(value); } public static Double square(Double value) { - return null; + return value * value; + } public static Double[] squareRoots(Double... value) { - return null; + + List al =new ArrayList(Arrays.asList(value)); + List newList = new ArrayList<>(); + for(Double x : al){ + newList.add(Math.sqrt(x)); + } + Double[] result = new Double[newList.size()]; + newList.toArray(result); + return result; + } public static Double[] squares(Double... values) { - return null; + List al =new ArrayList(Arrays.asList(values)); + List newList = new ArrayList<>(); + for(Double x : al){ + newList.add(x*x); + } + Double[] result = new Double[newList.size()]; + newList.toArray(result); + 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..06e75ed 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -1,34 +1,95 @@ 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; + + char[] chars = string.toCharArray(); + int middleIndex = chars.length / 2; + Character m = chars[middleIndex]; + return m; } public static String capitalizeMiddleCharacter(String str) { - return null; + int middleIndex = str.length() / 2; + String result = ""; + for (int i = 0; i < str.length(); i++) { + if (i != middleIndex) { + result = result + str.charAt(i); + } + if (i == middleIndex) { + result = result + Character.toUpperCase(str.charAt(i)); + } + + + } + return result; + } public static String lowerCaseMiddleCharacter(String str) { - return null; + int middleIndex = str.length() / 2; + String result = ""; + for (int i = 0; i < str.length(); i++) { + if (i != middleIndex) { + result = result + str.charAt(i); + } + if (i == middleIndex) { + result = result + Character.toLowerCase(str.charAt(i)); + } + + + } + + return result; + } public static Boolean isIsogram(String str) { - return null; + 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; + int len = str.length(); + + char arr[] = str.toCharArray(); + for (int i = 0; i < len - 1; i++) { + if (arr[i] == arr[i + 1]) + return true; + } + return false; + } public static String removeConsecutiveDuplicateCharacters(String str) { + return null; } public static String invertCasing(String str) { - return null; + String result = ""; + for(int i = 0 ;i < str.length(); i++){ + if(str.charAt(i) == Character.toUpperCase(str.charAt(i))){ + result = result + Character.toLowerCase(str.charAt(i)); + } + else + result = result +Character.toUpperCase(str.charAt(i)); + } + return result; } } \ 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..39e89a2 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,16 @@ /** * @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..6e50b70 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,39 @@ 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; +public Bank(){ + bankAccountList = new ArrayList<>(); +} + + + public BankAccount removeBankAccountByIndex(Integer indexNumber) { - return null; + + + + + return null; } public void addBankAccount(BankAccount bankAccount) { - } + if (!bankAccountList.contains(bankAccount)) { + bankAccountList.add(bankAccount); + } + } public Boolean containsBankAccount(BankAccount bankAccount) { - throw new UnsupportedOperationException("Method not yet implemented"); + if (bankAccountList.contains(bankAccount)) { + return true;} + else + + 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..ed80e40 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 = balance; + } + public void setBalance(Double val) { + this.balance = val; + } + + @Override + public void deposit(Double amountToIncreaseBy) { + if (amountToIncreaseBy >= 0) { + balance = balance + amountToIncreaseBy; + } else + throw new IllegalArgumentException(); + } + + @Override + public void withdrawal(Double amountToDecreaseBy) { + if (amountToDecreaseBy <= balance && amountToDecreaseBy > 0) { + balance = balance - amountToDecreaseBy; + } else + throw new IllegalArgumentException(); + } + + @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..4107336 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,77 @@ /** * @author leon on 30/12/2018. */ -public class Employee { +public class Employee implements Worker, Transactable { + Double hourlyWage; + Double hoursWorked ; + Double balance ; + Double bankAccountBalance ; + //Double moneyEarned = hourlyWage * hoursWorked; + BankAccount bankAccount = new BankAccount(); + public Employee(Double hourlyWage, Double hoursWorked, Double balance, Double bankAccountBalance) + { + this.hourlyWage = hourlyWage; + this.hoursWorked =hoursWorked; + this.balance = hourlyWage; + this.bankAccountBalance = bankAccountBalance; + //this.moneyEarned = hourlyWage * hoursWorked; + // BankAccount bankAccount = new BankAccount(); + } + public Employee() { + this.hourlyWage = 35.0; + this.hoursWorked = 0.0; + this.balance = 15.0; + this.bankAccountBalance = bankAccountBalance; } public Employee(BankAccount bankAccount) { + this.bankAccount = bankAccount; } public BankAccount getBankAccount() { - return null; + return this.bankAccount; } public void setBankAccount(BankAccount bankAccount) { + this.bankAccount = bankAccount; + } + + @Override + public void deposit(Double amountToIncreaseBy) { + if(amountToIncreaseBy >= 0) + this.bankAccountBalance+= amountToIncreaseBy; + else + throw new IllegalArgumentException(); + } + + @Override + public void withdrawal(Double amountToDecreaseBy) { + bankAccount.withdrawal(amountToDecreaseBy); + } + + @Override + public Double getBalance() { + return this.bankAccount.getBalance(); + } + + @Override + public void increaseHoursWorked(Double numberOfHours) { + hoursWorked += numberOfHours; + } + + @Override + public Double getHoursWorked() { + return this.hoursWorked; + } + + @Override + public Double getHourlyWage() { + return this.hourlyWage; + } + @Override + public Double getMoneyEarned() { + return hourlyWage * hoursWorked; } } From fb6793841c76e9aa65ed5a1eaf62a986b78144fc Mon Sep 17 00:00:00 2001 From: vaidehi4321 <56602405+vaidehi4321@users.noreply.github.com> Date: Mon, 9 Dec 2019 23:35:57 -0500 Subject: [PATCH 2/3] still not finished --- .../rocks/zipcode/quiz4/collections/culonary/Food.java | 1 + .../rocks/zipcode/quiz4/fundamentals/StringUtils.java | 9 ++++----- 2 files changed, 5 insertions(+), 5 deletions(-) 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..0d909a2 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java @@ -7,6 +7,7 @@ * @author leon on 27/12/2018. */ public class Food { + public List getAllSpices() { 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 06e75ed..1ca2eb2 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -83,12 +83,11 @@ public static String removeConsecutiveDuplicateCharacters(String str) { public static String invertCasing(String str) { String result = ""; - for(int i = 0 ;i < str.length(); i++){ - if(str.charAt(i) == Character.toUpperCase(str.charAt(i))){ + for (int i = 0; i < str.length(); i++) { + if (str.charAt(i) == Character.toUpperCase(str.charAt(i))) { result = result + Character.toLowerCase(str.charAt(i)); - } - else - result = result +Character.toUpperCase(str.charAt(i)); + } else + result = result + Character.toUpperCase(str.charAt(i)); } return result; } From a77716b5b750a770e39c2c71db1c4a22ea8e3fc6 Mon Sep 17 00:00:00 2001 From: vaidehi4321 <56602405+vaidehi4321@users.noreply.github.com> Date: Sat, 14 Dec 2019 13:39:56 -0500 Subject: [PATCH 3/3] all test passed --- .../zipcode/quiz4/arrays/ArrayUtils.java | 19 +++++-- .../quiz4/collections/WordCounter.java | 14 ++++- .../quiz4/collections/culonary/Curry.java | 6 +++ .../quiz4/collections/culonary/Food.java | 18 +++++-- .../quiz4/fundamentals/StringUtils.java | 12 ++++- .../quiz4/objectorientation/account/Bank.java | 14 +++-- .../account/BankAccount.java | 11 +++- .../objectorientation/account/Employee.java | 52 +++++++++---------- .../account/Transactable.java | 1 + 9 files changed, 103 insertions(+), 44 deletions(-) diff --git a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java index 95f0ecb..3087d9d 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -35,11 +35,20 @@ public static String getLastElement(String[] values) { } public static String[] removeLastElement(String[] values) { - String last = getLastElement(values); - ArrayList al = new ArrayList<>(Arrays.asList(values)); - List newList = al.stream().filter(x -> !x.equals(last)).collect(Collectors.toList()); - String[] result = new String[newList.size()]; - newList.toArray(result); + // String last = getLastElement(values); + + + ArrayList al = new ArrayList<>(); + for(int i=0 ;i < values.length; i++){ + al.add(values[i]); + } + al.remove(al.size()-1); + String[] result = new String[al.size()]; + al.toArray(result); return result; +// List newList = al.stream().filter(x -> !x.equals(last)).collect(Collectors.toList()); +// String[] result = new String[newList.size()]; +// newList.toArray(result); +// return result; } } \ 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..fc7d579 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[]strings; public WordCounter(String... strings) { + this.strings = strings; } public Map getWordCountMap() { - return null; + Mapmap = new HashMap<>(); + for (int i = 0; i < strings.length ; i++) { + if(!map.containsKey(strings[i])){ + map.put(strings[i],1); + } + else{ + map.put(strings[i],map.get(strings[i])+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 a1995ac..150128c 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Curry.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Curry.java @@ -2,9 +2,15 @@ public class Curry implements Spice{ private static Curry INSTANCE = new Curry(); + private String name; static Curry getInstance(){ + return INSTANCE; } + 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 0d909a2..0de8bf4 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java @@ -1,21 +1,31 @@ package rocks.zipcode.quiz4.collections.culonary; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author leon on 27/12/2018. */ -public class Food { +public class Food implements Spice{ + ListspiceList = new ArrayList<>(); public List getAllSpices() { - return null; + return this.spiceList; } public > Map getSpiceCount() { - return null; + Map, Integer> map = new HashMap<>(); + for (Spice spice : spiceList) + if (!map.containsKey(spice)) { + map.put(spice.getClass(), spiceList.size()); + } else { + return null; + } + return (Map) map; } - public void applySpice(Spice spice) { + spiceList.add(spice); } } diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java index 1ca2eb2..e150f44 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -77,8 +77,18 @@ public static Boolean hasDuplicateConsecutiveCharacters(String str) { } public static String removeConsecutiveDuplicateCharacters(String str) { + StringBuilder sb = new StringBuilder(); + for(int i = 0; i< str.length()-1; i++){ + if(str.charAt(i) == str.charAt(i+1)){ + i++; + } + else { + sb.append(str.charAt(i)); + } + } + sb.append(str.charAt(str.length()-1)); + return sb.toString(); - return null; } public static String invertCasing(String str) { 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 6e50b70..b1bb288 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Bank.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Bank.java @@ -12,10 +12,16 @@ public Bank(){ bankAccountList = new ArrayList<>(); } + public List getBankAccountList() { + return bankAccountList; + } + public void setBankAccountList(List bankAccountList) { + this.bankAccountList = bankAccountList; + } public BankAccount removeBankAccountByIndex(Integer indexNumber) { - + bankAccountList.remove(bankAccountList.get(indexNumber)); @@ -23,9 +29,9 @@ public BankAccount removeBankAccountByIndex(Integer indexNumber) { } public void addBankAccount(BankAccount bankAccount) { - if (!bankAccountList.contains(bankAccount)) { + bankAccountList.add(bankAccount); - } + } public Boolean containsBankAccount(BankAccount bankAccount) { @@ -33,7 +39,7 @@ public Boolean containsBankAccount(BankAccount bankAccount) { return true;} else - throw new UnsupportedOperationException("Method not yet implemented"); + return false; } } 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 ed80e40..50a68ec 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/BankAccount.java @@ -6,13 +6,17 @@ public class BankAccount extends Account implements Transactable { private Double balance; - public BankAccount() - { + public BankAccount() + { + balance = 0.0; + } + public BankAccount (Double balance){ this.balance = balance; } public void setBalance(Double val) { + this.balance = val; } @@ -36,4 +40,7 @@ public void withdrawal(Double amountToDecreaseBy) { 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 4107336..024416b 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Employee.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Employee.java @@ -4,33 +4,21 @@ * @author leon on 30/12/2018. */ public class Employee implements Worker, Transactable { - Double hourlyWage; - Double hoursWorked ; - Double balance ; - Double bankAccountBalance ; - //Double moneyEarned = hourlyWage * hoursWorked; - BankAccount bankAccount = new BankAccount(); - public Employee(Double hourlyWage, Double hoursWorked, Double balance, Double bankAccountBalance) - { - this.hourlyWage = hourlyWage; - this.hoursWorked =hoursWorked; - this.balance = hourlyWage; - this.bankAccountBalance = bankAccountBalance; - //this.moneyEarned = hourlyWage * hoursWorked; - // BankAccount bankAccount = new BankAccount(); - } + private BankAccount bankAccount; + private double hourlyWage; + private double hoursWorked ; + private double balace; - public Employee() { + public Employee(BankAccount bankAccount) { + this.bankAccount = bankAccount; + this.hourlyWage =35; + } + public Employee(){ + bankAccount = new BankAccount(); this.hourlyWage = 35.0; this.hoursWorked = 0.0; - this.balance = 15.0; - this.bankAccountBalance = bankAccountBalance; - } - public Employee(BankAccount bankAccount) { - this.bankAccount = bankAccount; } - public BankAccount getBankAccount() { return this.bankAccount; } @@ -41,15 +29,12 @@ public void setBankAccount(BankAccount bankAccount) { @Override public void deposit(Double amountToIncreaseBy) { - if(amountToIncreaseBy >= 0) - this.bankAccountBalance+= amountToIncreaseBy; - else - throw new IllegalArgumentException(); + this.bankAccount.deposit(amountToIncreaseBy); } @Override public void withdrawal(Double amountToDecreaseBy) { - bankAccount.withdrawal(amountToDecreaseBy); + this.bankAccount.withdrawal(amountToDecreaseBy); } @Override @@ -57,6 +42,11 @@ public Double getBalance() { return this.bankAccount.getBalance(); } + @Override + public void setBalance(Double balance) { + this.balace = balance; + } + @Override public void increaseHoursWorked(Double numberOfHours) { hoursWorked += numberOfHours; @@ -76,4 +66,12 @@ public Double getHourlyWage() { public Double getMoneyEarned() { return hourlyWage * hoursWorked; } + + public void setHourlyWage(double hourlyWage) { + this.hourlyWage = hourlyWage; + } + + public void setHoursWorked(double hoursWorked) { + this.hoursWorked = hoursWorked; + } } diff --git a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Transactable.java b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Transactable.java index 98a3dde..572f72a 100644 --- a/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Transactable.java +++ b/src/main/java/rocks/zipcode/quiz4/objectorientation/account/Transactable.java @@ -7,4 +7,5 @@ public interface Transactable { void deposit(Double amountToIncreaseBy); void withdrawal(Double amountToDecreaseBy); Double getBalance(); + void setBalance(Double balance); }