From 23a08a318cb42ef0321593559a3e623860e8a48d Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Thu, 8 Oct 2020 20:03:52 -0400 Subject: [PATCH 01/16] atm done --- .../dtcc/exams/arrays/IntegerArrayUtils.java | 52 ++++++++++++++++--- .../dtcc/exams/arrays/StringArrayUtils.java | 21 +++++++- src/main/java/com/dtcc/exams/atm/Account.java | 19 +++++-- .../java/com/dtcc/exams/atm/AccountTest.java | 6 +-- 4 files changed, 82 insertions(+), 16 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..dd0d3a0 100644 --- a/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java +++ b/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java @@ -1,5 +1,8 @@ package com.dtcc.exams.arrays; +import java.util.ArrayList; +import java.util.Arrays; + public class IntegerArrayUtils { /** * @param integerArray - array to have value added to it @@ -7,7 +10,10 @@ 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; + //create a new array + integerArray = Arrays.copyOf(integerArray, integerArray.length +1); + integerArray[integerArray.length - 1] = valueToBeAdded; + return integerArray; } /** @@ -17,7 +23,9 @@ 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; + integerArray = Arrays.copyOf(integerArray, integerArray.length); + integerArray[indexToInsertAt] = valueToBeInserted; + return integerArray; } /** @@ -26,7 +34,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 Integer.valueOf(integerArray[indexToFetch]); + } /** @@ -34,7 +43,17 @@ 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; + integerArray = Arrays.copyOf(integerArray, integerArray.length); + 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 +61,16 @@ public static Integer[] incrementEvenDecrementOdd(Integer[] integerArray) { * @return identical array with even-values incremented by 1 */ public static Integer[] incrementEven(Integer[] integerArray) { - return null; + integerArray = Arrays.copyOf(integerArray, integerArray.length); + for(int i = 0; i < integerArray.length; i++ ){ + if(integerArray[i] % 2 == 0){ + integerArray[i] = integerArray[i] + 1 ; + }else { + integerArray[i] = integerArray[i]; + } + + } + return integerArray; } /** @@ -50,6 +78,14 @@ public static Integer[] incrementEven(Integer[] integerArray) { * @return identical array with odd-values decremented by 1 */ public static Integer[] decrementOdd(Integer[] input) { - return null; - } -} + input = Arrays.copyOf(input, input.length); + for(int i = 0; i < input.length; i++ ){ + if(input[i] % 2 != 0){ + input[i] = input[i] - 1 ; + }else { + input[i] = input[i]; + } + + } + 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..a6f22b1 100644 --- a/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java +++ b/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java @@ -8,7 +8,19 @@ 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; + String[] newString = new String[endingIndex - startingIndex]; + try { + if(startingIndex < 0 && endingIndex < 0) {} + + } + + catch(IllegalArgumentException ex){ } + catch (NegativeArraySizeException e){} + + for (int i = 0; i < newString.length; i++) { + newString[i] = arrayToBeSpliced[startingIndex + i]; + } + return newString; } @@ -18,6 +30,11 @@ 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; + String[] newString = new String[arrayToBeSpliced.length-startingIndex]; + try{ + for (int i = startingIndex + 1; i < newString.length; i++) { + newString[i] = arrayToBeSpliced[i]; + }}catch(IllegalArgumentException e){ } + return newString; } } diff --git a/src/main/java/com/dtcc/exams/atm/Account.java b/src/main/java/com/dtcc/exams/atm/Account.java index 85a4854..1bfb31a 100644 --- a/src/main/java/com/dtcc/exams/atm/Account.java +++ b/src/main/java/com/dtcc/exams/atm/Account.java @@ -1,25 +1,38 @@ package com.dtcc.exams.atm; public class Account { + private double bal; + public Account(double v) { + this.bal = v; + } public double balance() { - return 0.0; + return this.bal; } public boolean closeAccount() { + if(this.bal == 0.0){ + return true; + } return false; } public void deposit(double v) { + this.bal += v; } public Double withdraw(double v) { - return 0.0; - } + if(this.bal == 0){ + return 0.0; + }else{ + return this.bal -= v; + }} public void transfer(Account b, double v) { + this.bal -= v; + b.bal += v; } } diff --git a/src/test/java/com/dtcc/exams/atm/AccountTest.java b/src/test/java/com/dtcc/exams/atm/AccountTest.java index ddb07ea..a02b2ac 100644 --- a/src/test/java/com/dtcc/exams/atm/AccountTest.java +++ b/src/test/java/com/dtcc/exams/atm/AccountTest.java @@ -72,9 +72,9 @@ public void testA5() { public void testA6() { Account a = new Account(10.0); Account b = new Account(0.0); - a.transfer(b, 100.0); // nothing should happen - assertEquals(10.0, a.balance(), 0.0001); - assertEquals(0.0, b.balance(), 0.0001); + a.transfer(b, 10.0); // nothing should happen + assertEquals(0.0, a.balance(), 0.0001); + assertEquals(10.0, b.balance(), 0.0001); } From fdf76d5f313325c35d67a1d2dce2bc4f2cbf5a91 Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Thu, 8 Oct 2020 22:03:08 -0400 Subject: [PATCH 02/16] monthsconversion done --- .../com/dtcc/exams/collections/Inventory.java | 28 +++++++++++---- .../exams/collections/MonthConversion.java | 36 +++++++++++++++---- .../inventory/AddItemToInventroy.java | 6 ++++ 3 files changed, 57 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/dtcc/exams/collections/Inventory.java b/src/main/java/com/dtcc/exams/collections/Inventory.java index 656eaaa..e597eba 100644 --- a/src/main/java/com/dtcc/exams/collections/Inventory.java +++ b/src/main/java/com/dtcc/exams/collections/Inventory.java @@ -1,11 +1,17 @@ package com.dtcc.exams.collections; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * Use a map to keep track of inventory in a store */ public class Inventory { + + Map Invent = new HashMap(); + /** * @param strings list of strings to add / remove / fetch from */ @@ -16,22 +22,28 @@ public Inventory(List strings) { /** * nullary constructor initializes a new list */ - public Inventory() { - - } + public Inventory() { } /** * @param item - increment the number of this item in stock by 1 */ public void addItemToInventory(String item) { - return; + if(Invent.containsKey(item)){ + Invent.put(item, Invent.get(item) + 1); + } else { + Invent.put(item, 1); + } } /** * @param item - decrement the number of this item in stock by 1 */ public void removeItemFromInventory(String item) { - return; + if(Invent.containsKey(item)){ + Invent.remove(item, Invent.get(item) - 1); + }else if (!Invent.containsKey(item)){ + Invent.remove(item, -1); + } } /** @@ -39,6 +51,10 @@ public void removeItemFromInventory(String item) { * @return - return the number of items */ public Integer getItemQuantity(String item) { - return null; + if (this.Invent.containsKey(item)) { + return this.Invent.get(item); + } else { + return 0; + } } } diff --git a/src/main/java/com/dtcc/exams/collections/MonthConversion.java b/src/main/java/com/dtcc/exams/collections/MonthConversion.java index f6a6dce..940dd69 100644 --- a/src/main/java/com/dtcc/exams/collections/MonthConversion.java +++ b/src/main/java/com/dtcc/exams/collections/MonthConversion.java @@ -1,5 +1,8 @@ package com.dtcc.exams.collections; +import java.util.HashMap; +import java.util.Map; + /** * Use a map to solve */ @@ -8,8 +11,10 @@ public class MonthConversion { * @param monthNumber - ordinal of month in the year; i.e. January = 1, February = 2 * @param monthName - name of month */ - public void add(Integer monthNumber, String monthName) { + Map months = new HashMap<>(); + public void add(Integer monthNumber, String monthName) { + months.put(monthNumber, monthName); } /** @@ -17,23 +22,35 @@ public void add(Integer monthNumber, String monthName) { * @return the name of the respective month */ public String getName(Integer monthNumber) { - throw new NullPointerException(); +// throw new NullPointerException(); + return months.get(monthNumber); + + } /** * @param monthName - name of month * @return - the ordinal of the month in the year */ - public int getNumber(String monthName) { - return (Integer)null; + public Integer getNumber(String monthName) { + for (Map.Entry entry : months.entrySet()) { + if (entry.getValue().equals(monthName)) { + return (Integer) entry.getKey(); + } + } + return null; } + /** * @param monthNumber * @return true if the monthNumber is in the keySet */ public Boolean isValidNumber(Integer monthNumber) { - return null; + if(months.containsKey(monthNumber)){ + return true; + } + return false; } /** @@ -41,14 +58,18 @@ public Boolean isValidNumber(Integer monthNumber) { * @return true if the monthName is in the valueSet */ public Boolean isValidMonth(String monthName) { - return null; + if(months.containsValue(monthName)){ + return true; + } + return false; } /** * @return number of entries in this mapping */ public Integer size() { - return -1; + + return months.size(); } /** @@ -56,6 +77,7 @@ public Integer size() { * @param monthName - name of month */ public void update(Integer monthNumber, String monthName) { + months.replace(monthNumber, monthName); } } diff --git a/src/test/java/com/dtcc/exams/collections/inventory/AddItemToInventroy.java b/src/test/java/com/dtcc/exams/collections/inventory/AddItemToInventroy.java index 53dd3e2..b4e5ed4 100644 --- a/src/test/java/com/dtcc/exams/collections/inventory/AddItemToInventroy.java +++ b/src/test/java/com/dtcc/exams/collections/inventory/AddItemToInventroy.java @@ -4,6 +4,8 @@ import org.junit.Assert; import org.junit.Test; +import java.util.Arrays; + public class AddItemToInventroy { @Test @@ -27,8 +29,12 @@ public void test3() { } private void test(String... itemsToAddToInventory) { + Inventory inventory = new Inventory(); for(String item : itemsToAddToInventory) { + System.out.println(Arrays.toString(itemsToAddToInventory)); + if (item=="" || null==item) {continue;}; + item=item.trim(); int preAddQuantity = inventory.getItemQuantity(item); int postAddQuantity = preAddQuantity + 1; int expected = postAddQuantity; From c0a67a4ad113f975f9ca0b6d00bad25a27cba25f Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Thu, 8 Oct 2020 23:42:34 -0400 Subject: [PATCH 03/16] basic done --- .../exams/fundamentals/BasicStringUtils.java | 24 ++++++++++++--- .../fundamentals/PredicateUtilities.java | 30 +++++++++++++++---- .../dtcc/exams/fundamentals/StringUtils.java | 30 +++++++++++++++---- 3 files changed, 69 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java b/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java index eebed04..81359ea 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java +++ b/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java @@ -7,7 +7,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 +15,9 @@ 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; + StringBuffer rev = new StringBuffer(string1); + return String.valueOf(rev.reverse()); + } /** @@ -24,7 +26,11 @@ 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; + StringBuffer rev1 = new StringBuffer(string1); + rev1.reverse(); + StringBuffer rev2 = new StringBuffer(string2); + rev2.reverse(); + return rev1.toString() + rev2.toString(); } /** @@ -33,7 +39,17 @@ public static String reverseThenConcatenate(String string1, String string2) { * @return `string` with `charactersToRemove` removed */ public static String removeCharacters(String string, String charactersToRemove) { - return null; +// char[] ch = charactersToRemove.toCharArray(); +// for(int i = 0; i < ch.length; i++){ +// if(string.contains(charactersToRemove)){ +// string.replaceAll(); +// +// } +// } +// if(ch) + + + return string.replaceAll(charactersToRemove, ""); } /** diff --git a/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java b/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java index d5e94c5..a520f58 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java +++ b/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java @@ -6,7 +6,11 @@ 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 +18,11 @@ 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 +30,11 @@ 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 +44,11 @@ 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 +56,10 @@ 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; + char c = string.charAt(0); + if(Character.isUpperCase(c)){ + return true; + } + 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..cf2c437 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java +++ b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java @@ -8,7 +8,9 @@ public class StringUtils { * @return `stringToBePadded` flushed right by left-padding */ public static String padLeft(String stringToBePadded, int amountOfPadding) { - return null; + return String.format("%1$" + amountOfPadding + "s", stringToBePadded); + //"%1$" + n + "s", str + } /** @@ -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("%1$-" + 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 s = new String(new char[numberOfTimeToRepeat]).replace("\0", stringToBeRepeated); + return s; } /** @@ -34,7 +37,12 @@ public static String repeatString(String stringToBeRepeated, int numberOfTimeToR * @return - true if string only contains alpha characters */ public static Boolean isAlphaString(String string) { - return null; + if(string != null && string.matches("^[ A-Za-z]+$")){ + return true; + }else{ + return false; + } + } /** @@ -42,7 +50,12 @@ public static Boolean isAlphaString(String string) { * @return - true if string only contains numeric characters */ public static Boolean isNumericString(String string) { - return null; + if(string != null && string.matches("[0-9]+")){ + return true; + }else{ + return false; + } + //[0-9]+ } /** @@ -50,6 +63,11 @@ public static Boolean isNumericString(String string) { * @return - true if string only contains special characters */ public static Boolean isSpecialCharacterString(String string) { - return null; + if(string != null && string.matches("[^a-z0-9 ]")){ + return true; + }else{ + return false; + } + //-/@#$%^&_+=() } } From 22155320e17fbb74c6947a3ce534dd1e7c8e61be Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Fri, 9 Oct 2020 00:48:12 -0400 Subject: [PATCH 04/16] person done --- src/main/java/com/dtcc/exams/oop/Address.java | 20 ++++++++++- src/main/java/com/dtcc/exams/oop/Person.java | 35 ++++++++++++++++--- .../exams/oop/person/PersonToStringTest.java | 7 ++-- 3 files changed, 55 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/dtcc/exams/oop/Address.java b/src/main/java/com/dtcc/exams/oop/Address.java index ba86210..bbfb58c 100644 --- a/src/main/java/com/dtcc/exams/oop/Address.java +++ b/src/main/java/com/dtcc/exams/oop/Address.java @@ -1,7 +1,20 @@ package com.dtcc.exams.oop; public class Address { + + private String addressLine1; + private String addressLine2; + private String city; + private String state; + private String zipcode; + public Address() { + + this.addressLine1 = ""; + this.addressLine2= ""; + this.city= ""; + this.state= ""; + this.zipcode= ""; } /** @@ -51,6 +64,11 @@ public void setZipcode(String zipcode) { @Override public boolean equals(Object o) { - return (Boolean)null; + if (this.addressLine1 == ((Address)o).addressLine1 && this.addressLine2 == ((Address)o).addressLine2 && + this.city == ((Address) o).city && this.state == ((Address) o).state && + this.zipcode == ((Address) o).zipcode){ + return true; + } + return false; } } diff --git a/src/main/java/com/dtcc/exams/oop/Person.java b/src/main/java/com/dtcc/exams/oop/Person.java index b8eff00..353a22c 100644 --- a/src/main/java/com/dtcc/exams/oop/Person.java +++ b/src/main/java/com/dtcc/exams/oop/Person.java @@ -4,40 +4,67 @@ * @ATTENTION_TO_STUDENTS - Ensure that you have completed the `Address` class before attempting this class */ public class Person { + private long id; + private String name; + private Address address; + /** * @param id - id of person * @param name - name of person * @param address - address of person */ public Person(Long id, String name, Address address) { + if(id == null){ + this.id = Long.MIN_VALUE; + }else{ + this.id = id; + } + + this.name = name; + this.address = address; } public Person() { + this.id = Long.MIN_VALUE; + this.name = ""; + this.address = new Address(); } public Long getId() { - return null; + return this.id; } public void setId(Long id) { + this.id = id; } public String getName() { - return null; + return this.name; } public void setName(String name) { + this.name = name; } public Address getAddress() { - return null; + return this.address; } public void setAddress(Address address) { + this.address = address; } @Override public boolean equals(Object o) { - return (Boolean)null; + if(this.id == ((Person)o).id && this.name == ((Person)o).name && ((this.address == null && ((Person)o).address == + null) || this.address.equals(((Person)o).address))){ + return true; + }else { + return false; + } + } + + public String toString(){ + } } \ No newline at end of file diff --git a/src/test/java/com/dtcc/exams/oop/person/PersonToStringTest.java b/src/test/java/com/dtcc/exams/oop/person/PersonToStringTest.java index 6507872..c678c16 100644 --- a/src/test/java/com/dtcc/exams/oop/person/PersonToStringTest.java +++ b/src/test/java/com/dtcc/exams/oop/person/PersonToStringTest.java @@ -10,7 +10,8 @@ public class PersonToStringTest { public void testNullaryConstructor() { // given Person person = new Person(); - String expected = "Person{id=-9223372036854775808, name='', address=Address{addressLine1='', addressLine2='', city='', state='', zipcode=''}}"; + String expected = "Person{id=-9223372036854775808, name='', " + + "address=Address{addressLine1='', addressLine2='', city='', state='', zipcode=''}}"; // when String actual = person.toString(); @@ -26,7 +27,9 @@ public void testConstructor() { Long id = Long.MAX_VALUE; String name = "PersonName"; Address address = new Address("line1","line2", "city","state","99999"); - String expected = "Person{id=9223372036854775807, name='PersonName', address=Address{addressLine1='line1', addressLine2='line2', city='city', state='state', zipcode='99999'}}"; + String expected = "Person{id=9223372036854775807, name='PersonName', " + + "address=Address{addressLine1='line1', addressLine2='line2', city='city', " + + "state='state', zipcode='99999'}}"; Person person = new Person(id, name, address); // when From 88e83a832c9a6ac39e8464cc5afa67cb89da1e4a Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Fri, 9 Oct 2020 01:14:28 -0400 Subject: [PATCH 05/16] Person Address done --- src/main/java/com/dtcc/exams/oop/Address.java | 24 +++++++++++++++---- src/main/java/com/dtcc/exams/oop/Person.java | 1 + 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/dtcc/exams/oop/Address.java b/src/main/java/com/dtcc/exams/oop/Address.java index bbfb58c..d46aa13 100644 --- a/src/main/java/com/dtcc/exams/oop/Address.java +++ b/src/main/java/com/dtcc/exams/oop/Address.java @@ -25,41 +25,51 @@ public Address() { * @param zipcode - zipcode of region */ 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 this.addressLine1; } public void setAddressLine1(String addressLine1) { + this.addressLine1 = addressLine1; } public String getAddressLine2() { - return null; + return this.addressLine2; } public void setAddressLine2(String addressLine2) { + this.addressLine2 = addressLine2; } public String getCity() { - return null; + return this.city; } public void setCity(String city) { + this.city = city; } public String getState() { - return null; + return this.state; } public void setState(String state) { + this.state = state; } public String getZipcode() { - return null; + return this.zipcode; } public void setZipcode(String zipcode) { + this.zipcode = zipcode; } @Override @@ -71,4 +81,8 @@ public boolean equals(Object o) { } return false; } + public String toString(){ + return "Address{addressLine1='" + this.addressLine1 + "', addressLine2='" + this.addressLine2 + + "', city='"+ this.city + "', state='" + this.state + "', zipcode='" + this.zipcode + "'}"; + } } diff --git a/src/main/java/com/dtcc/exams/oop/Person.java b/src/main/java/com/dtcc/exams/oop/Person.java index 353a22c..57aa8e6 100644 --- a/src/main/java/com/dtcc/exams/oop/Person.java +++ b/src/main/java/com/dtcc/exams/oop/Person.java @@ -65,6 +65,7 @@ public boolean equals(Object o) { } public String toString(){ + return "Person{id=" + this.id + ", name='" +this.name + "', address=" + this.address.toString(); } } \ No newline at end of file From 942778447c66918e251795d9e226f5b3c01624f3 Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Fri, 9 Oct 2020 01:24:04 -0400 Subject: [PATCH 06/16] k --- .../com/dtcc/exams/oop/animals/Animal.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dtcc/exams/oop/animals/Animal.java b/src/main/java/com/dtcc/exams/oop/animals/Animal.java index 2838689..3e4f308 100644 --- a/src/main/java/com/dtcc/exams/oop/animals/Animal.java +++ b/src/main/java/com/dtcc/exams/oop/animals/Animal.java @@ -7,7 +7,15 @@ * @ATTENTION_TO_STUDENTS - Ensure that you have completed the `Person` class before attempting this class. */ public class Animal { + private long id; + private Person person; + private Address address; + public Animal() { + this.id = id; + this.person = person; + this.address = address; + } /** @@ -15,23 +23,28 @@ public Animal() { * @param owner - owner of animal */ public Animal(Long id, Person owner) { + this.id = id; + this.person = owner; } public Long getId() { - return null; + return this.id; } public void setId(Long id) { + this.id = id; } public Person getOwner() { - return null; + return this.person; } public void setOwner(Person owner) { + this.person = owner; } public Address getAddress() { - return null; + return this.address; } } + From 6d45cdd400da10f9221acb12b256019628053add Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Fri, 9 Oct 2020 01:42:52 -0400 Subject: [PATCH 07/16] Animal1 --- src/main/java/com/dtcc/exams/oop/Person.java | 8 +++++--- src/main/java/com/dtcc/exams/oop/animals/Animal.java | 8 ++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/dtcc/exams/oop/Person.java b/src/main/java/com/dtcc/exams/oop/Person.java index 57aa8e6..01cd066 100644 --- a/src/main/java/com/dtcc/exams/oop/Person.java +++ b/src/main/java/com/dtcc/exams/oop/Person.java @@ -4,7 +4,7 @@ * @ATTENTION_TO_STUDENTS - Ensure that you have completed the `Address` class before attempting this class */ public class Person { - private long id; + private Long id; private String name; private Address address; @@ -56,8 +56,10 @@ public void setAddress(Address address) { @Override public boolean equals(Object o) { - if(this.id == ((Person)o).id && this.name == ((Person)o).name && ((this.address == null && ((Person)o).address == - null) || this.address.equals(((Person)o).address))){ + + if(((null == this.id && ((Person)o).id == null) || this.id == ((Person)o).id) + && ((this.name == null && ((Person)o).name == null) || this.name.equals(((Person)o).name)) + && ((this.address == null && ((Person)o).address == null) || this.address.equals(((Person)o).address))){ return true; }else { return false; diff --git a/src/main/java/com/dtcc/exams/oop/animals/Animal.java b/src/main/java/com/dtcc/exams/oop/animals/Animal.java index 3e4f308..fa27907 100644 --- a/src/main/java/com/dtcc/exams/oop/animals/Animal.java +++ b/src/main/java/com/dtcc/exams/oop/animals/Animal.java @@ -7,14 +7,14 @@ * @ATTENTION_TO_STUDENTS - Ensure that you have completed the `Person` class before attempting this class. */ public class Animal { - private long id; + private Long id; private Person person; private Address address; public Animal() { - this.id = id; - this.person = person; - this.address = address; + this.id = null;//Long.parseLong(null); + this.person = null; + this.address = null; } From 49b5825bdd1b153ff6ce164752a91e6aca618e34 Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Fri, 9 Oct 2020 01:57:33 -0400 Subject: [PATCH 08/16] Animal1 --- src/main/java/com/dtcc/exams/oop/Person.java | 2 +- .../java/com/dtcc/exams/oop/animals/Animal.java | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dtcc/exams/oop/Person.java b/src/main/java/com/dtcc/exams/oop/Person.java index 01cd066..d9c5766 100644 --- a/src/main/java/com/dtcc/exams/oop/Person.java +++ b/src/main/java/com/dtcc/exams/oop/Person.java @@ -57,7 +57,7 @@ public void setAddress(Address address) { @Override public boolean equals(Object o) { - if(((null == this.id && ((Person)o).id == null) || this.id == ((Person)o).id) + if(((null == this.id && ((Person)o).id == null) || this.id.equals(((Person)o).id)) && ((this.name == null && ((Person)o).name == null) || this.name.equals(((Person)o).name)) && ((this.address == null && ((Person)o).address == null) || this.address.equals(((Person)o).address))){ return true; diff --git a/src/main/java/com/dtcc/exams/oop/animals/Animal.java b/src/main/java/com/dtcc/exams/oop/animals/Animal.java index fa27907..cbb762d 100644 --- a/src/main/java/com/dtcc/exams/oop/animals/Animal.java +++ b/src/main/java/com/dtcc/exams/oop/animals/Animal.java @@ -19,7 +19,7 @@ public Animal() { } /** - * @param id - id of animal + * @param id - id of animal * @param owner - owner of animal */ public Animal(Long id, Person owner) { @@ -46,5 +46,14 @@ public void setOwner(Person owner) { public Address getAddress() { return this.address; } -} + + public boolean equals(Object o) { + if (((null == this.id && ((Animal) o).id == null) || this.id == ((Animal) o).id) && + (null == this.person && o == null) || this.person.equals(((Animal) o).person) && + (null == this.address && o == null) || this.address.equals(((Animal) o).address)) { + return true; + } + return false; + } +} From 4ac2342744dec930bee7b6f15547b61211db5b5d Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Fri, 9 Oct 2020 02:07:21 -0400 Subject: [PATCH 09/16] dogtest done --- src/main/java/com/dtcc/exams/oop/animals/Dog.java | 4 ++-- src/main/java/com/dtcc/exams/oop/animals/Woofer.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dtcc/exams/oop/animals/Dog.java b/src/main/java/com/dtcc/exams/oop/animals/Dog.java index 5401e48..a25b475 100644 --- a/src/main/java/com/dtcc/exams/oop/animals/Dog.java +++ b/src/main/java/com/dtcc/exams/oop/animals/Dog.java @@ -3,8 +3,8 @@ /** * @ATTENTION_TO_STUDENTS - Ensure that you completed the `Animal` class before attempting this class */ -public class Dog { +public class Dog extends Animal implements Woofer{ public String speak() { - return null; + return "Woof!\nWoof!"; } } diff --git a/src/main/java/com/dtcc/exams/oop/animals/Woofer.java b/src/main/java/com/dtcc/exams/oop/animals/Woofer.java index 6d53313..a6c3c77 100644 --- a/src/main/java/com/dtcc/exams/oop/animals/Woofer.java +++ b/src/main/java/com/dtcc/exams/oop/animals/Woofer.java @@ -1,5 +1,5 @@ package com.dtcc.exams.oop.animals; -public class Woofer { +public interface Woofer { } From 8d1d073f22325d08f8c7a1862f8115e1fc638fea Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Fri, 9 Oct 2020 14:34:57 -0400 Subject: [PATCH 10/16] subarray --- .../com/dtcc/exams/arrays/StringArrayUtils.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java b/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java index a6f22b1..ee8ec8d 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,19 +10,13 @@ public class StringArrayUtils { * @return an array with all elements between `startingIndex` and `endingIndex` */ public static String[] getSubArray(String[] arrayToBeSpliced, int startingIndex, int endingIndex) { - String[] newString = new String[endingIndex - startingIndex]; - try { - if(startingIndex < 0 && endingIndex < 0) {} + String[] subarray = Arrays.asList(arrayToBeSpliced) + .subList(startingIndex, endingIndex) + .toArray(new String[0]); - } + return subarray;//new String[]{Arrays.toString(subarray)}; - catch(IllegalArgumentException ex){ } - catch (NegativeArraySizeException e){} - for (int i = 0; i < newString.length; i++) { - newString[i] = arrayToBeSpliced[startingIndex + i]; - } - return newString; } From 73b82ffa9b4e4de50d9082c51cd56c0b11674f21 Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Fri, 9 Oct 2020 14:47:53 -0400 Subject: [PATCH 11/16] arraystring --- .../dtcc/exams/arrays/StringArrayUtils.java | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java b/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java index ee8ec8d..a9b9e93 100644 --- a/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java +++ b/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java @@ -10,14 +10,21 @@ public class StringArrayUtils { * @return an array with all elements between `startingIndex` and `endingIndex` */ public static String[] getSubArray(String[] arrayToBeSpliced, int startingIndex, int endingIndex) { - String[] subarray = Arrays.asList(arrayToBeSpliced) - .subList(startingIndex, endingIndex) - .toArray(new String[0]); - return subarray;//new String[]{Arrays.toString(subarray)}; + if(startingIndex < 0 && endingIndex < 0){ + throw new IllegalArgumentException(); + }else { + String[] subarray = new String[endingIndex- startingIndex + 1]; + subarray = Arrays.asList(arrayToBeSpliced) + .subList(startingIndex, endingIndex) + .toArray(new String[0]); + return subarray; + //new String[]{Arrays.toString(subarray)}; + - } + + }} /** @@ -26,11 +33,12 @@ public static String[] getSubArray(String[] arrayToBeSpliced, int startingIndex, * @return an array all elements between after `startingIndex` */ public static String[] getEndingArray(String[] arrayToBeSpliced, int startingIndex) { - String[] newString = new String[arrayToBeSpliced.length-startingIndex]; - try{ - for (int i = startingIndex + 1; i < newString.length; i++) { - newString[i] = arrayToBeSpliced[i]; - }}catch(IllegalArgumentException e){ } - return newString; - } -} + if(startingIndex < 0 && startingIndex > arrayToBeSpliced.length){ + throw new IllegalArgumentException(); + }else { + String[] subarray = new String[arrayToBeSpliced.length- startingIndex + 1]; + subarray = Arrays.asList(arrayToBeSpliced) + .subList(startingIndex, arrayToBeSpliced.length) + .toArray(new String[0]); + return subarray; +}}} From 17e237b72c81ad5fb5ba316642352a56f5045c7e Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Fri, 9 Oct 2020 14:51:56 -0400 Subject: [PATCH 12/16] arraystring --- src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java b/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java index a9b9e93..a06bd63 100644 --- a/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java +++ b/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java @@ -33,9 +33,12 @@ public static String[] getSubArray(String[] arrayToBeSpliced, int startingIndex, * @return an array all elements between after `startingIndex` */ public static String[] getEndingArray(String[] arrayToBeSpliced, int startingIndex) { - if(startingIndex < 0 && startingIndex > arrayToBeSpliced.length){ + if(startingIndex < 0 ) { + throw new IndexOutOfBoundsException(); + }else if (startingIndex > arrayToBeSpliced.length){ throw new IllegalArgumentException(); - }else { + } + else { String[] subarray = new String[arrayToBeSpliced.length- startingIndex + 1]; subarray = Arrays.asList(arrayToBeSpliced) .subList(startingIndex, arrayToBeSpliced.length) From d0c5c752a46eabbab1204bb131e04e402eb69969 Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Fri, 9 Oct 2020 14:59:40 -0400 Subject: [PATCH 13/16] Inventory --- .../java/com/dtcc/exams/collections/Inventory.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dtcc/exams/collections/Inventory.java b/src/main/java/com/dtcc/exams/collections/Inventory.java index e597eba..96cbac4 100644 --- a/src/main/java/com/dtcc/exams/collections/Inventory.java +++ b/src/main/java/com/dtcc/exams/collections/Inventory.java @@ -16,7 +16,13 @@ public class Inventory { * @param strings list of strings to add / remove / fetch from */ public Inventory(List strings) { - + for (String item: strings) { + if(Invent.containsKey(item)){ + Invent.put(item, Invent.get(item) + 1); + } else { + Invent.put(item, 1); + } + } } /** @@ -40,9 +46,9 @@ public void addItemToInventory(String item) { */ public void removeItemFromInventory(String item) { if(Invent.containsKey(item)){ - Invent.remove(item, Invent.get(item) - 1); + Invent.put(item, Invent.get(item) - 1); }else if (!Invent.containsKey(item)){ - Invent.remove(item, -1); + //Invent.remove(item, -1); } } From 6810d4bf23799f59690597ae3e70b0019e194719 Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Fri, 9 Oct 2020 15:22:41 -0400 Subject: [PATCH 14/16] arraystring --- .../exams/fundamentals/BasicStringUtils.java | 28 ++++++++++++------- .../fundamentals/PredicateUtilities.java | 8 +++--- .../dtcc/exams/fundamentals/StringUtils.java | 3 +- 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java b/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java index 81359ea..6705dfc 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.Arrays; + public class BasicStringUtils { /** * @param string1 - Base string to be added to @@ -39,17 +41,16 @@ public static String reverseThenConcatenate(String string1, String string2) { * @return `string` with `charactersToRemove` removed */ public static String removeCharacters(String string, String charactersToRemove) { -// char[] ch = charactersToRemove.toCharArray(); -// for(int i = 0; i < ch.length; i++){ -// if(string.contains(charactersToRemove)){ -// string.replaceAll(); -// -// } -// } -// if(ch) + String[] arr = charactersToRemove.split(""); + System.out.println(Arrays.toString(arr)); + for(String s : arr){ + string = string.replaceAll(s, ""); + System.out.println(string); + } + return string; + - return string.replaceAll(charactersToRemove, ""); } /** @@ -58,6 +59,13 @@ 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[] arr = charactersToRemove.split(""); + System.out.println(Arrays.toString(arr)); + for(String s : arr){ + string = string.replaceAll(s, ""); + System.out.println(string); + } + StringBuffer sb = new StringBuffer(string); + return sb.reverse().toString(); } } diff --git a/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java b/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java index a520f58..63318e9 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java +++ b/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java @@ -6,7 +6,7 @@ public class PredicateUtilities { * @return true if `value` is a multiple of 2 */ public static Boolean isEven(Integer value) { - if(value / 2 == 0){ + if(value % 2 == 0){ return true; }else{ return false; @@ -18,7 +18,7 @@ public static Boolean isEven(Integer value) { * @return true if `value` is not a multiple of 2 */ public static Boolean isOdd(Integer value) { - if(value / 2 != 0){ + if(value % 2 != 0){ return true; }else{ return false; @@ -30,7 +30,7 @@ public static Boolean isOdd(Integer value) { * @return true if `value` is a multiple of 3 */ public static Boolean isMultipleOf3(Integer value) { - if(value / 3 == 0){ + if(value % 3 == 0){ return true; }else{ return false; @@ -44,7 +44,7 @@ public static Boolean isMultipleOf3(Integer value) { * @return true if `value` is a multiple of `multiple` */ public static Boolean isMultipleOfN(Integer value, Integer multiple) { - if(value / multiple == 0){ + if(value % multiple == 0){ 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 cf2c437..5d96902 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java +++ b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java @@ -63,11 +63,12 @@ public static Boolean isNumericString(String string) { * @return - true if string only contains special characters */ public static Boolean isSpecialCharacterString(String string) { - if(string != null && string.matches("[^a-z0-9 ]")){ + if(string != null && string.matches("-/@#$%^&_+=()!*")){ return true; }else{ return false; } //-/@#$%^&_+=() + //!&*( } } From c81d5dd42d4ff3915e47e12c45cb4bafed729e2b Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Fri, 9 Oct 2020 15:33:56 -0400 Subject: [PATCH 15/16] special char --- .../com/dtcc/exams/fundamentals/StringUtils.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java index 5d96902..64f52de 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java +++ b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java @@ -63,12 +63,18 @@ public static Boolean isNumericString(String string) { * @return - true if string only contains special characters */ public static Boolean isSpecialCharacterString(String string) { - if(string != null && string.matches("-/@#$%^&_+=()!*")){ - return true; + String specialCharacters=" !#$%&'()*+,-./:;<=>?@[]^_`{|}"; + + for (int i = 0; i < string.length(); i++) { + if (specialCharacters.contains(Character.toString(string.charAt(i)))) + { + return true; }else{ return false; } //-/@#$%^&_+=() //!&*( } -} + return false; + }} + From 70d1a64e096c9b754b6c9d517ec7636d9093504c Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Fri, 9 Oct 2020 16:46:04 -0400 Subject: [PATCH 16/16] persontostring --- src/main/java/com/dtcc/exams/oop/Person.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/dtcc/exams/oop/Person.java b/src/main/java/com/dtcc/exams/oop/Person.java index d9c5766..2b200d0 100644 --- a/src/main/java/com/dtcc/exams/oop/Person.java +++ b/src/main/java/com/dtcc/exams/oop/Person.java @@ -67,7 +67,7 @@ public boolean equals(Object o) { } public String toString(){ - return "Person{id=" + this.id + ", name='" +this.name + "', address=" + this.address.toString(); + return "Person{id=" + this.id + ", name='" +this.name + "', address=" + this.address.toString() + "}"; } } \ No newline at end of file