From ebdfe477b2cc84233d5eaba2b2a8b71e40b7ee16 Mon Sep 17 00:00:00 2001 From: Sandy Setiawan Date: Fri, 20 Mar 2020 15:32:34 -0400 Subject: [PATCH 1/5] first commit --- .../rocks/zipcode/quiz4/fundamentals/Calculator.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 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..fa6a8b0 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -9,7 +9,7 @@ public static Double squareRoot(Double value) { } public static Double square(Double value) { - return null; + return value * value; } public static Double[] squareRoots(Double... value) { @@ -21,15 +21,16 @@ 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; } } From 5c51d021147f6dbf943547e7e3b6a69820ec4c7d Mon Sep 17 00:00:00 2001 From: Sandy Setiawan Date: Sat, 21 Mar 2020 10:58:18 -0400 Subject: [PATCH 2/5] second commit --- .../java/rocks/zipcode/quiz4/arrays/ArrayUtils.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 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..5583a75 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -1,11 +1,15 @@ 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; + int result = values.length / 2; + return values[result]; + } public static String[] removeMiddleElement(String[] values) { @@ -13,10 +17,10 @@ public static String[] removeMiddleElement(String[] values) { } public static String getLastElement(String[] values) { - return null; + return values[values.length - 1]; } public static String[] removeLastElement(String[] values) { - return null; + return Arrays.copyOf(values, values.length - 1); } } \ No newline at end of file From d96dd42eef8e03b570eac3e59d3ac9e56b744220 Mon Sep 17 00:00:00 2001 From: Sandy Setiawan Date: Sat, 21 Mar 2020 21:11:53 -0400 Subject: [PATCH 3/5] halfway there --- .../java/rocks/zipcode/quiz4/arrays/ArrayUtils.java | 12 +++++++++++- .../zipcode/quiz4/collections/culonary/Curry.java | 2 ++ .../rocks/zipcode/quiz4/fundamentals/Calculator.java | 4 +++- .../zipcode/quiz4/fundamentals/StringUtils.java | 4 ++-- 4 files changed, 18 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 5583a75..137b306 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -13,7 +13,17 @@ public static String getMiddleElement(String[] values) { } public static String[] removeMiddleElement(String[] values) { - return null; + String[] result = new String[values.length - 1]; + int middle = values.length / 2; + int index = 0; + for (int i = 0; i < values.length; i++) { + if (i != middle) { + result[index] = values[i]; + index++; + + } + + }return result; } public static String getLastElement(String[] values) { 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..f9c7875 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,6 @@ package rocks.zipcode.quiz4.collections.culonary; public class Curry { + } + diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java index fa6a8b0..fef825d 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -1,11 +1,13 @@ 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) { diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java index 5ec61be..e41785f 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -5,8 +5,8 @@ */ 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; From 3b12c942e762f07720c6438b954fa9696b7276e5 Mon Sep 17 00:00:00 2001 From: Sandy Setiawan Date: Sun, 22 Mar 2020 13:47:58 -0400 Subject: [PATCH 4/5] object orientation completed --- .../zipcode/quiz4/arrays/ArrayUtils.java | 3 +- .../quiz4/collections/WordCounter.java | 15 ++++- .../quiz4/collections/culonary/Curry.java | 2 +- .../quiz4/collections/culonary/Food.java | 21 ++++++- .../quiz4/collections/culonary/Ginger.java | 20 ++++++- .../quiz4/collections/culonary/Pepper.java | 18 ++++++ .../quiz4/fundamentals/Calculator.java | 11 ++-- .../quiz4/fundamentals/StringUtils.java | 34 ++++++++++-- .../objectorientation/account/Account.java | 9 ++- .../quiz4/objectorientation/account/Bank.java | 19 ++++++- .../account/BankAccount.java | 39 ++++++++++++- .../objectorientation/account/Employee.java | 55 ++++++++++++++++++- 12 files changed, 222 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 137b306..7d2ba0c 100644 --- a/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/arrays/ArrayUtils.java @@ -23,7 +23,8 @@ public static String[] removeMiddleElement(String[] values) { } - }return result; + } + return result; } public static String getLastElement(String[] values) { diff --git a/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java b/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java index 2bf5ec2..896e84c 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/WordCounter.java @@ -1,12 +1,25 @@ 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; + Map wordCountMap = new HashMap<>(); + for (String word : strings) { + if(wordCountMap.putIfAbsent(word, 1) != null) { + Integer count = wordCountMap.get(word) + 1; + wordCountMap.replace(word, count); + } + } + + return wordCountMap; } } + 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 f9c7875..e966308 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Curry.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Curry.java @@ -1,6 +1,6 @@ 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..0b126ac 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,29 @@ * @author leon on 27/12/2018. */ public class Food { + List spices; + + public Food() { + this.spices = new ArrayList<>(); + } + public List getAllSpices() { - return null; + return spices; } public > Map getSpiceCount() { - return null; + Map spiceCount = new HashMap<>(); + for (Spice spice : spices) { + SpiceType type = (SpiceType) spice.getClass(); + if(spiceCount.putIfAbsent(type, 1) != null) { + Integer count = spiceCount.get(type) + 1; + spiceCount.replace(type, count); + } + } + 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..910f2b6 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,23 @@ /** * @author leon on 27/12/2018. */ -public class Ginger { +public class Ginger implements Spice{ + String name; + + public Ginger() { + this.name = null; + } + + public Ginger(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = 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..5c40755 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Pepper.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Pepper.java @@ -4,4 +4,22 @@ * @author leon on 27/12/2018. */ public class Pepper { + String name; + + public Pepper() { + this.name = null; + } + + public Pepper(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } } + diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java index fef825d..2b80e2f 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/Calculator.java @@ -15,11 +15,16 @@ public static Double square(Double value) { } public static Double[] squareRoots(Double... value) { - return null; + for(int i = 0; i < value.length; i++) + value[i] = squareRoot(value[i]); + return value; } + public static Double[] squares(Double... values) { - return null; + for(int i = 0; i < values.length; i++) + values[i] = square(values[i]); + return values; } public static Double add(Double value1, Double value2) { @@ -30,8 +35,6 @@ public static Double subtract(Double value1, Double value2) { return value1 - value2; } - - public static Double divide(Double divisor, Double dividend) { 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 e41785f..0b50d71 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -1,5 +1,7 @@ package rocks.zipcode.quiz4.fundamentals; +import java.util.Arrays; + /** * @author leon on 21/12/2018. */ @@ -9,21 +11,43 @@ public static Character getMiddleCharacter(String string) { } 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; - } + int len = str.length(); + + char arr[] = str.toCharArray(); + + Arrays.sort(arr); + for (int i = 0; i < len; i++) { + for (int j = i; j < len - 1; j++) { + if (arr[i] == arr[j + 1]) + return false; + } + } + return true; + }; + public static Boolean hasDuplicateConsecutiveCharacters(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 true; + } + return false; } + public static String removeConsecutiveDuplicateCharacters(String str) { return null; } 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..a89d108 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{ + + Long id; + public Long getId() { - return null; + return 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..f593747 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,30 @@ package rocks.zipcode.quiz4.objectorientation.account; +import java.util.ArrayList; + /** * @author leon on 27/12/2018. */ public class Bank { + + public ArrayList Accounts = new ArrayList<>(); + public BankAccount removeBankAccountByIndex(Integer indexNumber) { - return null; + int index = indexNumber; + BankAccount bankAccount = Accounts.get(indexNumber); + Accounts.remove(index); + return bankAccount; } + public void addBankAccount(BankAccount bankAccount) { + Accounts.add(bankAccount); } public Boolean containsBankAccount(BankAccount bankAccount) { - throw new UnsupportedOperationException("Method not yet implemented"); + if(Accounts.contains(bankAccount)) { + return true; + } + return false; } -} +} \ No newline at end of file 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..ec66970 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,42 @@ /** * @author leon on 27/12/2018. */ -public class BankAccount { + +public class BankAccount extends Account implements Transactable { + + public double balance; + + public BankAccount() { + this.balance = 0.0; + } + + public BankAccount(Double val) { + this.balance = val; + } + public void setBalance(Double val) { + this.balance = val; + } + + @Override + public void deposit(Double amountToIncreaseBy) { + if (amountToIncreaseBy < 0.0) { + throw new IllegalArgumentException("error"); + } + this.balance += amountToIncreaseBy; + } + + @Override + public void withdrawal(Double amountToDecreaseBy) { + if ((this.balance - amountToDecreaseBy < 0.0)|| (amountToDecreaseBy < 0.0)) { + throw new IllegalArgumentException("Insufficient funds"); + } else { + this.balance -= amountToDecreaseBy; + } + } + + @Override + public Double getBalance() { + return balance; } -} +} \ No newline at end of file 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..938e000 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,69 @@ /** * @author leon on 30/12/2018. */ -public class Employee { + +public class Employee implements Worker,Transactable { + + private BankAccount bankAccount; + private Double hourlyWage; + private Double hoursWorked; + + public Employee() { + 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 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.hoursWorked += numberOfHours; + } + + @Override + public Double getHoursWorked() { + return hoursWorked; + } + + @Override + public Double getHourlyWage() { + return hourlyWage; + } + @Override + public Double getMoneyEarned() { + return bankAccount.balance; } } From 3d8c93bd87cf3459b2d0abc8503226731d48217e Mon Sep 17 00:00:00 2001 From: Sandy Setiawan Date: Sun, 22 Mar 2020 16:12:14 -0400 Subject: [PATCH 5/5] completed --- .../quiz4/collections/culonary/Curry.java | 4 +- .../quiz4/collections/culonary/Food.java | 17 +++++--- .../quiz4/collections/culonary/Ginger.java | 20 +-------- .../quiz4/collections/culonary/Pepper.java | 19 +------- .../quiz4/fundamentals/StringUtils.java | 43 ++++++++++++------- 5 files changed, 40 insertions(+), 63 deletions(-) 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 e966308..0f60aab 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Curry.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Curry.java @@ -1,6 +1,4 @@ package rocks.zipcode.quiz4.collections.culonary; public class Curry implements Spice { - -} - +} \ No newline at end of file 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 0b126ac..1da44c8 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Food.java @@ -20,15 +20,18 @@ public List getAllSpices() { } public > Map getSpiceCount() { - Map spiceCount = new HashMap<>(); - for (Spice spice : spices) { - SpiceType type = (SpiceType) spice.getClass(); - if(spiceCount.putIfAbsent(type, 1) != null) { - Integer count = spiceCount.get(type) + 1; - spiceCount.replace(type, count); + Map result = new HashMap<>(); + + for(Spice spice: spices){ + Integer counter = 1; + if(result.containsKey((SpiceType) spice.getClass())){ + counter = result.get((SpiceType) spice.getClass()); + counter++; } + result.put((SpiceType) spice.getClass(), counter); } - return spiceCount; + + return result; } 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 910f2b6..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,23 +3,5 @@ /** * @author leon on 27/12/2018. */ -public class Ginger implements Spice{ - String name; - - public Ginger() { - this.name = null; - } - - public Ginger(String name) { - this.name = name; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } +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 5c40755..dfdf919 100644 --- a/src/main/java/rocks/zipcode/quiz4/collections/culonary/Pepper.java +++ b/src/main/java/rocks/zipcode/quiz4/collections/culonary/Pepper.java @@ -3,23 +3,6 @@ /** * @author leon on 27/12/2018. */ -public class Pepper { - String name; - - public Pepper() { - this.name = null; - } - - public Pepper(String name) { - this.name = name; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } +public class Pepper implements Spice { } diff --git a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java index 0b50d71..5c90482 100644 --- a/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java +++ b/src/main/java/rocks/zipcode/quiz4/fundamentals/StringUtils.java @@ -7,8 +7,8 @@ */ public class StringUtils { public static Character getMiddleCharacter(String string) { - return string.charAt(string.length()/2); -} + return string.charAt(string.length() / 2); + } public static String capitalizeMiddleCharacter(String str) { return str.substring(0, str.length() / 2) + getMiddleCharacter(str.toUpperCase()) + str.substring(( str.length() / 2 ) + 1); @@ -21,38 +21,49 @@ public static String lowerCaseMiddleCharacter(String str) { public static Boolean isIsogram(String str) { int len = str.length(); - char arr[] = str.toCharArray(); + char[] arr = str.toCharArray(); Arrays.sort(arr); for (int i = 0; i < len; i++) { - for (int j = i; j < len - 1; j++) { - if (arr[i] == arr[j + 1]) + for (int j = i + 1; j < len; j++) { + if (arr[i] == arr[j]) return false; } } - return true; - }; + return true; + } public static Boolean hasDuplicateConsecutiveCharacters(String str) { - 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]) + 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; + + for (int i = 0; i < str.length() - 1; i++) { + if (str.charAt(i) == str.charAt(i + 1)) { + str = str.substring(0, i) + str.substring(i + 2); + } + } + return str; } public static String invertCasing(String str) { - return null; + StringBuilder builder = new StringBuilder(); + for (Character chr : str.toCharArray()){ + if (Character.isUpperCase(chr)){ + builder.append(Character.toLowerCase(chr)); + } else { + builder.append(Character.toUpperCase(chr)); + } + } + return builder.toString(); } -} \ No newline at end of file +}