From 8f1e57b339ec16fc6adf3bdc86f8dd9feb16288f Mon Sep 17 00:00:00 2001 From: charujamnis Date: Fri, 9 Oct 2020 11:49:17 -0400 Subject: [PATCH 1/5] Added classes --- .../dtcc/exams/arrays/IntegerArrayUtils.java | 39 +++++++++++++--- .../dtcc/exams/arrays/StringArrayUtils.java | 20 ++++++++- src/main/java/com/dtcc/exams/atm/Account.java | 17 +++++-- .../com/dtcc/exams/collections/Inventory.java | 25 ++++++++--- .../exams/collections/MonthConversion.java | 35 +++++++++++---- .../exams/fundamentals/BasicStringUtils.java | 37 ++++++++++++--- .../fundamentals/PredicateUtilities.java | 11 ++--- .../dtcc/exams/fundamentals/StringUtils.java | 45 ++++++++++++++++--- src/main/java/com/dtcc/exams/oop/Address.java | 40 ++++++++++++++--- src/main/java/com/dtcc/exams/oop/Person.java | 29 ++++++++++-- .../com/dtcc/exams/oop/animals/Animal.java | 14 ++++-- .../java/com/dtcc/exams/oop/animals/Dog.java | 4 +- .../com/dtcc/exams/oop/animals/Woofer.java | 2 +- 13 files changed, 261 insertions(+), 57 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..bec59ff 100644 --- a/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java +++ b/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java @@ -7,7 +7,12 @@ 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; + int length=integerArray.length; + Integer[] newArray=new Integer[length+1]; + //copy array integerArray to newArray. + System.arraycopy(integerArray,0,newArray,0,length); + newArray[length]=valueToBeAdded; + return newArray; } /** @@ -16,8 +21,13 @@ public static Integer[] add(Integer[] integerArray, Integer valueToBeAdded) { * @param valueToBeInserted - value of the element to be inserted * @return `integerArray` with `valueToBeInserted` at index number `indexToInsertAt` */ + public static Integer[] replace(Integer[] integerArray, int indexToInsertAt, Integer valueToBeInserted) { - return null; + for(int i=0;iarrayToBeSpliced.length){throw new IllegalArgumentException();} + + String[] newArray=new String[arrayToBeSpliced.length-startingIndex]; + System.arraycopy(arrayToBeSpliced,startingIndex,newArray,0,newArray.length); + return newArray; } } diff --git a/src/main/java/com/dtcc/exams/atm/Account.java b/src/main/java/com/dtcc/exams/atm/Account.java index 85a4854..c97ff62 100644 --- a/src/main/java/com/dtcc/exams/atm/Account.java +++ b/src/main/java/com/dtcc/exams/atm/Account.java @@ -1,25 +1,34 @@ package com.dtcc.exams.atm; public class Account { - + private double balance; public Account(double v) { + this.balance=v; } public double balance() { - return 0.0; + return this.balance; } public boolean closeAccount() { - return false; + if(this.balance<=0){return true;} + else{return false;} } public void deposit(double v) { + this.balance=this.balance+v; } public Double withdraw(double v) { - return 0.0; + if(this.balance>=v) this.balance=this.balance-v; + return this.balance; } public void transfer(Account b, double v) { + if(this.balance>=v) { + this.balance = this.balance() - v; + b.balance = b.balance() + v; + } } + } diff --git a/src/main/java/com/dtcc/exams/collections/Inventory.java b/src/main/java/com/dtcc/exams/collections/Inventory.java index 656eaaa..67ecb54 100644 --- a/src/main/java/com/dtcc/exams/collections/Inventory.java +++ b/src/main/java/com/dtcc/exams/collections/Inventory.java @@ -1,5 +1,6 @@ package com.dtcc.exams.collections; +import java.util.ArrayList; import java.util.List; /** @@ -9,29 +10,40 @@ public class Inventory { /** * @param strings list of strings to add / remove / fetch from */ + List strings; + Integer itemQuantity; public Inventory(List strings) { - + this.strings=strings; + this.itemQuantity=strings.size(); } /** * nullary constructor initializes a new list */ public Inventory() { - + this(new ArrayList()); } /** * @param item - increment the number of this item in stock by 1 */ public void addItemToInventory(String item) { - return; + this.strings.add(item); + this.itemQuantity=strings.size(); } /** * @param item - decrement the number of this item in stock by 1 */ public void removeItemFromInventory(String item) { - return; + if(strings!=null) { + strings.remove(item); + this.itemQuantity=strings.size(); + } + } + + public List getStrings() { + return this.strings; } /** @@ -39,6 +51,9 @@ public void removeItemFromInventory(String item) { * @return - return the number of items */ public Integer getItemQuantity(String item) { - return null; + if(strings.contains(item)){ + + } + return this.itemQuantity; } } diff --git a/src/main/java/com/dtcc/exams/collections/MonthConversion.java b/src/main/java/com/dtcc/exams/collections/MonthConversion.java index f6a6dce..b9a07ac 100644 --- a/src/main/java/com/dtcc/exams/collections/MonthConversion.java +++ b/src/main/java/com/dtcc/exams/collections/MonthConversion.java @@ -1,15 +1,22 @@ package com.dtcc.exams.collections; + +import java.util.HashMap; +import java.util.Map; + /** * Use a map to solve */ public class MonthConversion { + + public Map map=new HashMap<>(); + /** * @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.put(monthNumber,monthName); } /** @@ -17,15 +24,25 @@ public void add(Integer monthNumber, String monthName) { * @return the name of the respective month */ public String getName(Integer monthNumber) { - throw new NullPointerException(); + if(map.get(monthNumber)!=null) { + if(map.containsKey(monthNumber)){ + return map.get(monthNumber); //{throw new NullPointerException();} + }else return null; + }else return null; } /** * @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) { + Integer key = null; + for(Map.Entry entry: map.entrySet()) { + if(entry.getValue().equals(monthName)){ + key =entry.getKey(); + } + } + return key; } /** @@ -33,7 +50,7 @@ public int getNumber(String monthName) { * @return true if the monthNumber is in the keySet */ public Boolean isValidNumber(Integer monthNumber) { - return null; + return map.containsKey(monthNumber); } /** @@ -41,14 +58,14 @@ public Boolean isValidNumber(Integer monthNumber) { * @return true if the monthName is in the valueSet */ public Boolean isValidMonth(String monthName) { - return null; + return map.containsValue(monthName); } /** * @return number of entries in this mapping */ public Integer size() { - return -1; + return map.size(); } /** @@ -56,6 +73,8 @@ public Integer size() { * @param monthName - name of month */ public void update(Integer monthNumber, String monthName) { - + if(map.containsKey(monthNumber)){ + map.replace(monthNumber,monthName); + } } } diff --git a/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java b/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java index eebed04..3db6942 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,13 @@ 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; + String newString = ""; + if(string1!=null) { + for (int i = string1.length()-1; i >= 0; i--) { + newString +=string1.charAt(i) + ""; + } + } + return newString; } /** @@ -24,7 +30,17 @@ 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; + String newString1 = ""; + String newString2 = ""; + if(string1!=null || string2!=null) { + for (int i = string1.length()-1; i >= 0; i--) { + newString1 +=string1.charAt(i) + ""; + } + for (int j= string2.length()-1; j >= 0; j--) { + newString2 +=string2.charAt(j) + ""; + } + } + return newString1+newString2; } /** @@ -33,7 +49,12 @@ public static String reverseThenConcatenate(String string1, String string2) { * @return `string` with `charactersToRemove` removed */ public static String removeCharacters(String string, String charactersToRemove) { - return null; + return string.replaceAll("[ " + charactersToRemove + "]", "") ; + + } + + public static String removeChar(String str,int index){ + return str.substring(0,index)+str.substring(index+1); } /** @@ -42,6 +63,12 @@ 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 string1 = string.replaceAll("[ " + charactersToRemove + "]", ""); + String newString = ""; + int length = string1.length(); + for(int i = length - 1; i >= 0; i--){ + newString += string1.charAt(i); + } + return newString; } } diff --git a/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java b/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java index d5e94c5..b4b9af0 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) { - return null; + return value%2==0; } /** @@ -14,7 +14,7 @@ public static Boolean isEven(Integer value) { * @return true if `value` is not a multiple of 2 */ public static Boolean isOdd(Integer value) { - return null; + return value%2==1; } /** @@ -22,7 +22,7 @@ public static Boolean isOdd(Integer value) { * @return true if `value` is a multiple of 3 */ public static Boolean isMultipleOf3(Integer value) { - return null; + return value%3==0; } /** @@ -32,7 +32,8 @@ 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; + + return value%multiple==0; } /** @@ -40,6 +41,6 @@ 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; + return Character.isUpperCase(string.charAt(0)); } } diff --git a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java index 5ef3237..1859aa2 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java +++ b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java @@ -1,6 +1,9 @@ package com.dtcc.exams.fundamentals; +import java.sql.SQLOutput; +import java.util.Arrays; + public class StringUtils { /** * @param stringToBePadded - string value to be flushed right @@ -8,7 +11,12 @@ public class StringUtils { * @return `stringToBePadded` flushed right by left-padding */ public static String padLeft(String stringToBePadded, int amountOfPadding) { - return null; + String strspace=""; + int value=amountOfPadding-stringToBePadded.length(); + for(int i=0;i Date: Fri, 9 Oct 2020 11:59:59 -0400 Subject: [PATCH 2/5] class added --- src/main/java/com/dtcc/exams/oop/Person.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/dtcc/exams/oop/Person.java b/src/main/java/com/dtcc/exams/oop/Person.java index c3e2595..03d5bd1 100644 --- a/src/main/java/com/dtcc/exams/oop/Person.java +++ b/src/main/java/com/dtcc/exams/oop/Person.java @@ -52,6 +52,9 @@ public boolean equals(Object o) { if(this==o){return true;} if(!(o instanceof Person)) {return false;} Person p = (Person)o; + if((id== null && p.id==null) || (name==null && p.name==null) || (address==null && p.getAddress()==null)){ + return true; + } return id.equals(p.id) && name.equals(p.name) && address.equals(p.getAddress()); From 32e90930212486e4ac65a96c332c415e68c20321 Mon Sep 17 00:00:00 2001 From: charujamnis Date: Fri, 9 Oct 2020 13:14:59 -0400 Subject: [PATCH 3/5] Person.java added --- src/main/java/com/dtcc/exams/oop/Person.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/dtcc/exams/oop/Person.java b/src/main/java/com/dtcc/exams/oop/Person.java index 03d5bd1..d8059de 100644 --- a/src/main/java/com/dtcc/exams/oop/Person.java +++ b/src/main/java/com/dtcc/exams/oop/Person.java @@ -13,7 +13,12 @@ public class Person { * @param address - address of person */ public Person(Long id, String name, Address address) { - this.id=id; + if(id == null){ + this.id = Long.MIN_VALUE; + }else{ + this.id = id; + } + // this.id=id; this.name=name; this.address=address; @@ -52,12 +57,14 @@ public boolean equals(Object o) { if(this==o){return true;} if(!(o instanceof Person)) {return false;} Person p = (Person)o; - if((id== null && p.id==null) || (name==null && p.name==null) || (address==null && p.getAddress()==null)){ - return true; - } + if((id== null && p.id==null) || (name==null && p.name==null) || (address==null && p.getAddress()==null)) + { return true;} + return id.equals(p.id) && name.equals(p.name) - && address.equals(p.getAddress()); + && address.equals(p.getAddress()); + + } public String toString(){ From 49f37611fe78f93ff7ba771642453dc14b084aa3 Mon Sep 17 00:00:00 2001 From: charujamnis Date: Fri, 9 Oct 2020 13:22:17 -0400 Subject: [PATCH 4/5] changes in Person class --- src/main/java/com/dtcc/exams/oop/Address.java | 2 +- src/main/java/com/dtcc/exams/oop/Person.java | 2 +- src/main/java/com/dtcc/exams/oop/animals/Animal.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dtcc/exams/oop/Address.java b/src/main/java/com/dtcc/exams/oop/Address.java index f0daa76..6c97fda 100644 --- a/src/main/java/com/dtcc/exams/oop/Address.java +++ b/src/main/java/com/dtcc/exams/oop/Address.java @@ -67,7 +67,7 @@ public void setZipcode(String zipcode) { @Override public boolean equals(Object o) { - if(o==this){return true;} + // if(o==this){return true;} if(!(o instanceof Address)) {return false;} Address a = (Address)o; return addressLine1.equals(a.addressLine1) diff --git a/src/main/java/com/dtcc/exams/oop/Person.java b/src/main/java/com/dtcc/exams/oop/Person.java index d8059de..01c5bfb 100644 --- a/src/main/java/com/dtcc/exams/oop/Person.java +++ b/src/main/java/com/dtcc/exams/oop/Person.java @@ -54,7 +54,7 @@ public void setAddress(Address address) { @Override public boolean equals(Object o) { - if(this==o){return true;} + //if(this==o){return true;} if(!(o instanceof Person)) {return false;} Person p = (Person)o; if((id== null && p.id==null) || (name==null && p.name==null) || (address==null && p.getAddress()==null)) 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 61a31db..7fbad41 100644 --- a/src/main/java/com/dtcc/exams/oop/animals/Animal.java +++ b/src/main/java/com/dtcc/exams/oop/animals/Animal.java @@ -40,6 +40,6 @@ public void setOwner(Person owner) { } public Address getAddress() { - return owner.getAddress(); + return this.owner.getAddress(); } } From d1893e9fad508402469213c440995968f4befed0 Mon Sep 17 00:00:00 2001 From: charujamnis Date: Sun, 11 Oct 2020 21:24:35 -0400 Subject: [PATCH 5/5] AnimalConstructoryTestPassed --- src/main/java/com/dtcc/exams/oop/Person.java | 3 +-- src/main/java/com/dtcc/exams/oop/animals/Animal.java | 10 ++++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/dtcc/exams/oop/Person.java b/src/main/java/com/dtcc/exams/oop/Person.java index 01c5bfb..90457ea 100644 --- a/src/main/java/com/dtcc/exams/oop/Person.java +++ b/src/main/java/com/dtcc/exams/oop/Person.java @@ -6,7 +6,7 @@ public class Person { private Long id; private String name; - private Address address=new Address(); + private Address address; /** * @param id - id of person * @param name - name of person @@ -64,7 +64,6 @@ public boolean equals(Object o) { && name.equals(p.name) && address.equals(p.getAddress()); - } public String toString(){ 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 7fbad41..d544fc2 100644 --- a/src/main/java/com/dtcc/exams/oop/animals/Animal.java +++ b/src/main/java/com/dtcc/exams/oop/animals/Animal.java @@ -6,9 +6,9 @@ /** * @ATTENTION_TO_STUDENTS - Ensure that you have completed the `Person` class before attempting this class. */ -public class Animal { +public class Animal{ private Long id; - private Person owner=null; + private Person owner; public Animal() { this(null,null); @@ -32,6 +32,8 @@ public void setId(Long id) { } public Person getOwner() { + if(this.owner==null) + {this.owner= new Person();} return this.owner; } @@ -40,6 +42,6 @@ public void setOwner(Person owner) { } public Address getAddress() { - return this.owner.getAddress(); - } + return this.owner.getAddress(); + } }