From 8ef835d45a823b018994cde9e3508f7965ec8a6c Mon Sep 17 00:00:00 2001 From: Emad Ahmed Date: Fri, 9 Oct 2020 12:18:17 -0400 Subject: [PATCH 1/2] Progress so far --- .../dtcc/exams/arrays/IntegerArrayUtils.java | 42 ++++++++++++++++--- .../dtcc/exams/arrays/StringArrayUtils.java | 7 +++- src/main/java/com/dtcc/exams/atm/Account.java | 24 +++++++++-- .../com/dtcc/exams/collections/Inventory.java | 4 +- .../exams/fundamentals/BasicStringUtils.java | 42 ++++++++++++++++--- 5 files changed, 102 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java b/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java index 981c2dc..e0e65cc 100644 --- a/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java +++ b/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java @@ -1,5 +1,9 @@ package com.dtcc.exams.arrays; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + public class IntegerArrayUtils { /** * @param integerArray - array to have value added to it @@ -7,7 +11,11 @@ public class IntegerArrayUtils { * @return - identical array with one additional element of `valueToBeAdded` at the end of the array */ public static Integer[] add(Integer[] integerArray, Integer valueToBeAdded) { - return null; + // convert the array to a list and back to array after adding + List integerList = new ArrayList(Arrays.asList(integerArray)); + integerList.add(valueToBeAdded); + integerArray = integerList.toArray(integerArray); + return integerArray; } /** @@ -17,7 +25,11 @@ public static Integer[] add(Integer[] integerArray, Integer valueToBeAdded) { * @return `integerArray` with `valueToBeInserted` at index number `indexToInsertAt` */ public static Integer[] replace(Integer[] integerArray, int indexToInsertAt, Integer valueToBeInserted) { - return null; + List integerList = new ArrayList(Arrays.asList(integerArray)); + integerList.set(indexToInsertAt, valueToBeInserted); + integerArray = integerList.toArray(integerArray); + + return integerArray; } /** @@ -26,7 +38,8 @@ public static Integer[] replace(Integer[] integerArray, int indexToInsertAt, Int * @return element located at `indexToFetch` */ public static Integer get(Integer[] integerArray, Integer indexToFetch) { - return null; + + return integerArray[indexToFetch]; } /** @@ -34,7 +47,14 @@ public static Integer get(Integer[] integerArray, Integer indexToFetch) { * @return identical array with even-values incremented by 1 and odd-values decremented by 1 */ public static Integer[] incrementEvenDecrementOdd(Integer[] integerArray) { - return null; + + for(int i= 0 ; i < integerArray.length; i++){ + if(integerArray[i] % 2 == 0){ + integerArray[i] = integerArray[i] + 1; + } + else integerArray[i] = integerArray[i] -1; + } + return integerArray; } /** @@ -42,7 +62,12 @@ public static Integer[] incrementEvenDecrementOdd(Integer[] integerArray) { * @return identical array with even-values incremented by 1 */ public static Integer[] incrementEven(Integer[] integerArray) { - return null; + for(int i= 0 ; i < integerArray.length; i++){ + if(integerArray[i] % 2 == 0){ + integerArray[i] = integerArray[i] + 1; + } + } + return integerArray; } /** @@ -50,6 +75,11 @@ public static Integer[] incrementEven(Integer[] integerArray) { * @return identical array with odd-values decremented by 1 */ public static Integer[] decrementOdd(Integer[] input) { - return null; + for(int i= 0 ; i < input.length; i++){ + if(input[i] % 2 != 0){ + input[i] = input[i] - 1; + } + } + return input; } } diff --git a/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java b/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java index 7ea3b16..6bc407e 100644 --- a/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java +++ b/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java @@ -1,5 +1,7 @@ package com.dtcc.exams.arrays; +import java.util.Arrays; + public class StringArrayUtils { /** * @param arrayToBeSpliced - array to be evaluated @@ -8,7 +10,7 @@ public class StringArrayUtils { * @return an array with all elements between `startingIndex` and `endingIndex` */ public static String[] getSubArray(String[] arrayToBeSpliced, int startingIndex, int endingIndex) { - return null; + return Arrays.copyOfRange(arrayToBeSpliced, startingIndex,endingIndex); } @@ -18,6 +20,7 @@ public static String[] getSubArray(String[] arrayToBeSpliced, int startingIndex, * @return an array all elements between after `startingIndex` */ public static String[] getEndingArray(String[] arrayToBeSpliced, int startingIndex) { - return null; + + return Arrays.copyOfRange(arrayToBeSpliced,startingIndex,arrayToBeSpliced.length); } } diff --git a/src/main/java/com/dtcc/exams/atm/Account.java b/src/main/java/com/dtcc/exams/atm/Account.java index 85a4854..3ed8c89 100644 --- a/src/main/java/com/dtcc/exams/atm/Account.java +++ b/src/main/java/com/dtcc/exams/atm/Account.java @@ -1,25 +1,43 @@ package com.dtcc.exams.atm; public class Account { - + + double balance; + boolean accountClosed; + public Account(double v) { + balance = v; } public double balance() { - return 0.0; + return balance; } public boolean closeAccount() { + if(balance == 0.0){ + return true; + } return false; } public void deposit(double v) { + balance =+ v; } public Double withdraw(double v) { - return 0.0; + return balance - v; } public void transfer(Account b, double v) { + b.balance = v; + this.balance =- v; } + +// public void setBalance(double balance){ +// this.balance=balance; +// } +// public double getBalance(){ +// return balance; +// } } + diff --git a/src/main/java/com/dtcc/exams/collections/Inventory.java b/src/main/java/com/dtcc/exams/collections/Inventory.java index 656eaaa..6eba571 100644 --- a/src/main/java/com/dtcc/exams/collections/Inventory.java +++ b/src/main/java/com/dtcc/exams/collections/Inventory.java @@ -1,6 +1,7 @@ package com.dtcc.exams.collections; import java.util.List; +import java.util.Map; /** * Use a map to keep track of inventory in a store @@ -9,8 +10,9 @@ public class Inventory { /** * @param strings list of strings to add / remove / fetch from */ + public Map Integer; public Inventory(List strings) { - +// List list = new List(); } /** diff --git a/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java b/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java index eebed04..9d4602e 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java +++ b/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java @@ -1,5 +1,7 @@ package com.dtcc.exams.fundamentals; +import java.util.regex.Pattern; + public class BasicStringUtils { /** * @param string1 - Base string to be added to @@ -7,7 +9,7 @@ public class BasicStringUtils { * @return concatenation of `string1` and `string2` */ public static String concatentate(String string1, String string2) { - return null; + return string1 + string2; } /** @@ -15,7 +17,11 @@ public static String concatentate(String string1, String string2) { * @return an identical string with characters in reverse order */ public static String reverse(String string1) { - return null; + StringBuilder emad = new StringBuilder(); + emad.append(string1); + emad = emad.reverse(); + string1 = emad.toString(); + return string1; } /** @@ -24,7 +30,16 @@ public static String reverse(String string1) { * @return concatenation of the reverse of `string1` and reverse of `string2` */ public static String reverseThenConcatenate(String string1, String string2) { - return null; + StringBuilder emad = new StringBuilder(); + emad.append(string1); + emad = emad.reverse(); + string1 = emad.toString(); + + StringBuilder emad1 = new StringBuilder(); + emad1.append(string2); + emad1 = emad1.reverse(); + string2 = emad1.toString(); + return string1 + string2; } /** @@ -33,7 +48,16 @@ public static String reverseThenConcatenate(String string1, String string2) { * @return `string` with `charactersToRemove` removed */ public static String removeCharacters(String string, String charactersToRemove) { - return null; +// if(string.contains(charactersToRemove)){ +// String tempWord = charactersToRemove + " "; +// string = string.replaceAll(tempWord,""); +// tempWord = " " + charactersToRemove; +// string = string.replaceAll(tempWord, ""); +// } + Pattern pattern = Pattern.compile(charactersToRemove); + string.replaceAll(pattern.toString(), ""); + + return string; } /** @@ -42,6 +66,14 @@ public static String removeCharacters(String string, String charactersToRemove) * @return reverse of `string` with `charactersToRemove` removed */ public static String removeCharactersThenReverse(String string, String charactersToRemove) { - return null; + string.replaceAll(charactersToRemove, ""); + byte[] strAsByteArray = string.getBytes(); + byte[] result = new byte[strAsByteArray.length]; + + for (int i = 0; i < strAsByteArray.length; i++) + result[i] = strAsByteArray[strAsByteArray.length - i - 1]; + + + return new String(result); } } From 94138963db1769330fea7ed8dbdc3e39b4d5e06c Mon Sep 17 00:00:00 2001 From: Emad Ahmed Date: Fri, 9 Oct 2020 23:54:30 -0400 Subject: [PATCH 2/2] Progress so far --- .../exams/fundamentals/BasicStringUtils.java | 14 ++---- .../fundamentals/PredicateUtilities.java | 22 +++++++--- .../dtcc/exams/fundamentals/StringUtils.java | 28 +++++++++--- src/main/java/com/dtcc/exams/oop/Address.java | 43 ++++++++++++++++--- 4 files changed, 79 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java b/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java index 9d4602e..caa8b42 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java +++ b/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java @@ -48,16 +48,8 @@ public static String reverseThenConcatenate(String string1, String string2) { * @return `string` with `charactersToRemove` removed */ public static String removeCharacters(String string, String charactersToRemove) { -// if(string.contains(charactersToRemove)){ -// String tempWord = charactersToRemove + " "; -// string = string.replaceAll(tempWord,""); -// tempWord = " " + charactersToRemove; -// string = string.replaceAll(tempWord, ""); -// } - Pattern pattern = Pattern.compile(charactersToRemove); - string.replaceAll(pattern.toString(), ""); - return string; + return string.replaceAll(charactersToRemove, ""); } /** @@ -73,7 +65,7 @@ public static String removeCharactersThenReverse(String string, String character for (int i = 0; i < strAsByteArray.length; i++) result[i] = strAsByteArray[strAsByteArray.length - i - 1]; - - return new String(result); + String string1 = new String(result); + return string1; } } diff --git a/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java b/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java index d5e94c5..1e93ed8 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java +++ b/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java @@ -6,7 +6,10 @@ public class PredicateUtilities { * @return true if `value` is a multiple of 2 */ public static Boolean isEven(Integer value) { - return null; + if (value % 2 == 0) + return true; + else + return false; } /** @@ -14,7 +17,9 @@ public static Boolean isEven(Integer value) { * @return true if `value` is not a multiple of 2 */ public static Boolean isOdd(Integer value) { - return null; + if(value % 2 != 0) + return true; + else return false; } /** @@ -22,7 +27,9 @@ public static Boolean isOdd(Integer value) { * @return true if `value` is a multiple of 3 */ public static Boolean isMultipleOf3(Integer value) { - return null; + if(value % 3 == 0) + return true; + else return false; } /** @@ -32,7 +39,9 @@ public static Boolean isMultipleOf3(Integer value) { * @return true if `value` is a multiple of `multiple` */ public static Boolean isMultipleOfN(Integer value, Integer multiple) { - return null; + if(value % multiple == 0) + return true; + else return false; } /** @@ -40,6 +49,9 @@ public static Boolean isMultipleOfN(Integer value, Integer multiple) { * @return true if `string` starts with a capital letter */ public static Boolean startsWithCapitalLetter(String string) { - return null; + if(Character.isUpperCase(string.charAt(0)) == true) + return true; + else + return false; } } diff --git a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java index 5ef3237..611979e 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java +++ b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java @@ -1,6 +1,7 @@ package com.dtcc.exams.fundamentals; + public class StringUtils { /** * @param stringToBePadded - string value to be flushed right @@ -8,7 +9,8 @@ public class StringUtils { * @return `stringToBePadded` flushed right by left-padding */ public static String padLeft(String stringToBePadded, int amountOfPadding) { - return null; + + return String.format("%" + amountOfPadding + "s", stringToBePadded); } /** @@ -17,7 +19,7 @@ public static String padLeft(String stringToBePadded, int amountOfPadding) { * @return `stringToBePadded` flushed right by right-padding */ public static String padRight(String stringToBePadded, int amountOfPadding) { - return null; + return String.format("%" + -amountOfPadding + "s", stringToBePadded); } /** @@ -26,7 +28,8 @@ public static String padRight(String stringToBePadded, int amountOfPadding) { * @return the string repeated and concatenated `n` times */ public static String repeatString(String stringToBeRepeated, int numberOfTimeToRepeat) { - return null; + String repeated = new String(new char[numberOfTimeToRepeat]).replace("\0", stringToBeRepeated); + return repeated; } /** @@ -34,7 +37,11 @@ public static String repeatString(String stringToBeRepeated, int numberOfTimeToR * @return - true if string only contains alpha characters */ public static Boolean isAlphaString(String string) { - return null; + string = string.replaceAll("\\s+", ""); + if(string.chars().allMatch(Character::isLetter)) + return true; + else + return false; } /** @@ -42,7 +49,11 @@ public static Boolean isAlphaString(String string) { * @return - true if string only contains numeric characters */ public static Boolean isNumericString(String string) { - return null; + string = string.replaceAll("\\s+", ""); + if(string.chars().allMatch(Character::isDigit)) + return true; + else + return false; } /** @@ -50,6 +61,11 @@ public static Boolean isNumericString(String string) { * @return - true if string only contains special characters */ public static Boolean isSpecialCharacterString(String string) { - return null; + string = string.replaceAll("\\s+", ""); + if(string != null && string.chars().noneMatch(Character::isAlphabetic) && string.chars().noneMatch(Character::isDigit)) + return true; + else + return false; + } } diff --git a/src/main/java/com/dtcc/exams/oop/Address.java b/src/main/java/com/dtcc/exams/oop/Address.java index ba86210..f80594e 100644 --- a/src/main/java/com/dtcc/exams/oop/Address.java +++ b/src/main/java/com/dtcc/exams/oop/Address.java @@ -1,6 +1,15 @@ package com.dtcc.exams.oop; + public class Address { + + String addressLine1; + String addressLine2; + String city; + String state; + String zipcode; + + public Address() { } @@ -11,46 +20,68 @@ public Address() { * @param state - state of city * @param zipcode - zipcode of region */ - public Address(String addressLine1, String addressLine2, String city, String state, String zipcode) { + public Address(String addressLine1, String addressLine2, String city, String state, String zipcode) { + this.addressLine1=addressLine1; + this.addressLine2=addressLine2; + this.city=city; + this.state=state; + this.zipcode= zipcode; } public String getAddressLine1() { - return null; + + return addressLine1; } public void setAddressLine1(String addressLine1) { + this.addressLine1=addressLine1; } public String getAddressLine2() { - return null; + return addressLine2; } public void setAddressLine2(String addressLine2) { + this.addressLine2=addressLine2; } public String getCity() { - return null; + return city; } public void setCity(String city) { + this.city=city; } public String getState() { - return null; + return state; } public void setState(String state) { + this.state=state; } public String getZipcode() { - return null; + return zipcode; } public void setZipcode(String zipcode) { + this.zipcode=zipcode; } @Override public boolean equals(Object o) { return (Boolean)null; } + + @Override + public String toString() { + return "Address{" + + "addressLine1='" + addressLine1 + '\'' + + ", addressLine2='" + addressLine2 + '\'' + + ", city='" + city + '\'' + + ", state='" + state + '\'' + + ", zipcode='" + zipcode + '\'' + + '}'; + } }