From 8eda0d534634402d0bee0a3db19c58e229e9a383 Mon Sep 17 00:00:00 2001 From: "github-classroom[bot]" <66690702+github-classroom[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 13:23:35 +0000 Subject: [PATCH 1/8] Setting up GitHub Classroom Feedback From 89cbc696986160669a3cc878b37034c3202fc955 Mon Sep 17 00:00:00 2001 From: Mohammed Date: Mon, 8 Jul 2024 11:08:14 -0400 Subject: [PATCH 2/8] completed part 1 and first part of part2 --- .../assessment1/part1/BasicArrayUtils.java | 12 ++-- .../assessment1/part1/BasicStringUtils.java | 28 ++++++-- .../assessment1/part1/IntegerArrayUtils.java | 17 ++++- .../assessment1/part1/IntegerUtils.java | 19 ++++- .../part1/RockPaperSissorsEvaluator.java | 37 +++++++++- .../assessment1/part2/ArrayUtils.java | 69 +++++++++++++++++-- 6 files changed, 159 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java index ef714b5..c42c338 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java @@ -9,7 +9,8 @@ public class BasicArrayUtils { * @return the first element in the array */ public static String getFirstElement(String[] stringArray) { - return null; + + return stringArray[0]; } /** @@ -17,7 +18,8 @@ public static String getFirstElement(String[] stringArray) { * @return the second element in the array */ public static String getSecondElement(String[] stringArray) { - return null; + + return stringArray[1]; } /** @@ -25,7 +27,8 @@ public static String getSecondElement(String[] stringArray) { * @return the last element in the array */ public static String getLastElement(String[] stringArray) { - return null; + + return stringArray[stringArray.length-1]; } /** @@ -33,6 +36,7 @@ public static String getLastElement(String[] stringArray) { * @return the second to last element in the array */ public static String getSecondToLastElement(String[] stringArray) { - return null; + + return stringArray[stringArray.length-2]; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java index ca13f2d..78a184b 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java @@ -9,7 +9,8 @@ public class BasicStringUtils { * @return string with identical content, and the first character capitalized */ public static String camelCase(String str) { - return null; + + return str.substring(0,1).toUpperCase() + str.substring(1); } /** @@ -17,7 +18,8 @@ public static String camelCase(String str) { * @return string with identical contents, in the reverse order */ public static String reverse(String str) { - return null; + StringBuilder s = new StringBuilder(); + return s.append(str).reverse().toString(); } /** @@ -25,7 +27,8 @@ public static String reverse(String str) { * @return string with identical contents, in reverse order, with first character capitalized */ public static String reverseThenCamelCase(String str) { - return null; + return camelCase(reverse(str)); + } @@ -34,7 +37,8 @@ public static String reverseThenCamelCase(String str) { * @return string with identical contents excluding first and last character */ public static String removeFirstAndLastCharacter(String str) { - return null; + + return str.substring(1, str.length()-1); } /** @@ -42,6 +46,20 @@ public static String removeFirstAndLastCharacter(String str) { * @return string with identical characters, each with opposite casing */ public static String invertCasing(String str) { - return null; + + char[] chars = str.toCharArray(); + for (int i = 0; i < chars.length; i++) + { + char c = chars[i]; + if (Character.isUpperCase(c)) + { + chars[i] = Character.toLowerCase(c); + } + else if (Character.isLowerCase(c)) + { + chars[i] = Character.toUpperCase(c); + } + } + return new String(chars); } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java index 68d82ec..eaf4350 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java @@ -9,7 +9,11 @@ public class IntegerArrayUtils { * @return the sum of `intArray` */ public static Integer getSum(Integer[] intArray) { - return null; + Integer results =0; + for(Integer ele: intArray){ + results += ele; + } + return results; } /** @@ -17,7 +21,12 @@ public static Integer getSum(Integer[] intArray) { * @return the product of `intArray` */ public static Integer getProduct(Integer[] intArray) { - return null; + + Integer results =1; + for(Integer ele: intArray){ + results *= ele; + } + return results; } /** @@ -25,6 +34,8 @@ public static Integer getProduct(Integer[] intArray) { * @return the sum of `intArray` divided by number of elements in `intArray` */ public static Double getAverage(Integer[] intArray) { - return null; + + + return (double) (getSum(intArray) / intArray.length); } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java index eccbb6c..07f1401 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java @@ -11,7 +11,12 @@ public class IntegerUtils { * @return the sum of all integers between 0 and not including `n` */ public static Integer getSumOfN(Integer n) { - return null; + Integer results =0; + for(int i =0; i<= n; i++){ + results += i; + } + + return results; } /** @@ -19,7 +24,13 @@ public static Integer getSumOfN(Integer n) { * @return the product of all integers between 0 and not including `n` */ public static Integer getProductOfN(Integer n) { - return null; + + Integer results =1; + for(int i =1; i<= n; i++){ + results *= i; + } + + return results; } /** @@ -27,6 +38,8 @@ public static Integer getProductOfN(Integer n) { * @return integer with identical digits in the reverse order */ public static Integer reverseDigits(Integer val) { - return null; + StringBuilder s = new StringBuilder(); + String numReversed = s.append(val.toString()).reverse().toString(); + return Integer.parseInt(numReversed); } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java b/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java index 9495445..49d2ec5 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java @@ -13,7 +13,21 @@ public class RockPaperSissorsEvaluator { * @return the respective winning move */ public String getWinningMove(String handSign) { - return null; + String results = ""; + + switch(handSign){ + case ROCK: + results = PAPER; + break; + case PAPER: + results = SCISSOR; + break; + case SCISSOR: + results = ROCK; + break; + } + + return results; } /** @@ -21,7 +35,21 @@ public String getWinningMove(String handSign) { * @return the respective losing move */ public String getLosingMove(String handSign) { - return null; + String results = ""; + + switch(handSign){ + case ROCK: + results = SCISSOR; + break; + case PAPER: + results = ROCK; + break; + case SCISSOR: + results = PAPER; + break; + } + + return results; } /** @@ -30,6 +58,9 @@ public String getLosingMove(String handSign) { * @return a string representative of the winning hand sign between the two players */ public String getWinner(String handSignOfPlayer1, String handSignOfPlayer2) { - return null; + if (getWinningMove(handSignOfPlayer1).equals(handSignOfPlayer2)) { + return handSignOfPlayer2; + } + return handSignOfPlayer1; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java index bb9995a..38020d6 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java @@ -1,5 +1,9 @@ package com.zipcodewilmington.assessment1.part2; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** * Created by leon on 2/16/18. */ @@ -11,7 +15,13 @@ public class ArrayUtils { * Given an array of objects, named `objectArray`, and an object `objectToCount`, return the number of times the `objectToCount` appears in the `objectArray` */ public static Integer getNumberOfOccurrences(Object[] objectArray, Object objectToCount) { - return null; + Integer count = 0; + for(Object object : objectArray){ + if(object.equals(objectToCount)){ + count++; + } + } + return count; } /** @@ -21,7 +31,16 @@ public static Integer getNumberOfOccurrences(Object[] objectArray, Object object * Given an array of objects, name `objectArray`, and an object `objectToRemove`, return an array of objects with identical contents excluding `objectToRemove` */ public static Object[] removeValue(Object[] objectArray, Object objectToRemove) { - return null; + ArrayList arrayList = new ArrayList<>(); + for(Object object : objectArray){ + if(!object.equals(objectToRemove)){ + arrayList.add((Integer) object); + } + + } +// return null; + return arrayList.toArray(new Integer[0]); + } /** @@ -30,7 +49,20 @@ public static Object[] removeValue(Object[] objectArray, Object objectToRemove) * given an array of objects, named `objectArray` return the most frequently occuring object in the array */ public static Object getMostCommon(Object[] objectArray) { - return null; + Object results = null; + int mostOccured = 1; + for(int i = 0; i mostOccured){ + results = objectArray[i]; + } + } + return results; } @@ -40,7 +72,20 @@ public static Object getMostCommon(Object[] objectArray) { * given an array of objects, named `objectArray` return the least frequently occuring object in the array */ public static Object getLeastCommon(Object[] objectArray) { - return null; + Object results = null; + int leastOccured = 1; + for(int i = 0; i results = new ArrayList<>(); + int count =0; + for(int i =0; i< objectArray.length; i++){ + results.add((Integer) objectArray[i]); + //count++; + } + for(int i =0; i Date: Mon, 8 Jul 2024 11:20:30 -0400 Subject: [PATCH 3/8] part 2 multiples deleter completed --- .../assessment1/part2/MultiplesDeleter.java | 42 +++++++++++++++++-- .../assessment1/part2/StringUtils.java | 1 + 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java b/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java index a348b0d..dc71329 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java @@ -1,5 +1,7 @@ package com.zipcodewilmington.assessment1.part2; +import java.util.ArrayList; + /** * Created by leon on 2/16/18. */ @@ -10,7 +12,15 @@ public class MultiplesDeleter { * given an array of integers, named `ints` return an identical array with evens removed */ public Integer[] deleteEvens(Integer[] ints) { - return null; + ArrayList results = new ArrayList(); + + for(Integer ele: ints){ + if(ele % 2==1){ + results.add(ele); + } + } + + return results.toArray(new Integer[0]); } /** @@ -19,7 +29,15 @@ public Integer[] deleteEvens(Integer[] ints) { * given an array of integers, named `ints` return an identical array with odds removed */ public Integer[] deleteOdds(Integer[] ints) { - return null; + ArrayList results = new ArrayList(); + + for(Integer ele: ints){ + if(ele % 2==0){ + results.add(ele); + } + } + + return results.toArray(new Integer[results.size()]); } /** @@ -28,7 +46,15 @@ public Integer[] deleteOdds(Integer[] ints) { * given an array of integers, named `ints` return an identical array with numbers indivisible by 3 removed */ public Integer[] deleteMultiplesOf3(Integer[] ints) { - return null; + ArrayList results = new ArrayList(); + + for(Integer ele: ints){ + if(ele % 3 !=0){ + results.add(ele); + } + } + + return results.toArray(new Integer[0]); } /** @@ -38,6 +64,14 @@ public Integer[] deleteMultiplesOf3(Integer[] ints) { * given an array of integers, named `ints` return an identical array with numbers indivisible by `multiple` removed */ public Integer[] deleteMultiplesOfN(Integer[] ints, int multiple) { - return null; + ArrayList results = new ArrayList(); + + for(Integer ele: ints){ + if(ele % multiple !=0){ + results.add(ele); + } + } + + return results.toArray(new Integer[0]); } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java index fc403e5..b077c69 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java @@ -11,6 +11,7 @@ public class StringUtils { * given a string containing words delimited by spaces, representative of a sentence, return an array of strings, each element representative of a respective word in the sentence */ public static String[] getWords(String sentence) { + return null; } From fd9fd21632995da6cdedaaf322599773dbc42628 Mon Sep 17 00:00:00 2001 From: Mohammed Date: Mon, 8 Jul 2024 11:29:39 -0400 Subject: [PATCH 4/8] completed part 1 and 2 --- .../assessment1/part2/StringUtils.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java index b077c69..3c2295e 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java @@ -12,7 +12,7 @@ public class StringUtils { */ public static String[] getWords(String sentence) { - return null; + return sentence.split(" "); } @@ -22,7 +22,8 @@ public static String[] getWords(String sentence) { * given a string containing words delimited by spaces, representative of a sentence, return the first word of the sentence */ public static String getFirstWord(String sentence) { - return null; + + return getWords(sentence)[0]; } /** @@ -31,7 +32,8 @@ public static String getFirstWord(String sentence) { * given a string containing words delimited by spaces, representative of a sentence, return the first word with identical contents in reverse order */ public static String reverseFirstWord(String sentence) { - return null; + StringBuilder s = new StringBuilder(); + return s.append(getFirstWord(sentence)).reverse().toString(); } /** @@ -40,7 +42,8 @@ public static String reverseFirstWord(String sentence) { * given a string containing words delimited by spaces, representative of a sentence, return the first word with identical contents in reverse order with the first character capitalized */ public static String reverseFirstWordThenCamelCase(String sentence) { - return null; + String firstWordReversed = reverseFirstWord(sentence); + return firstWordReversed.substring(0,1).toUpperCase() + firstWordReversed.substring(1); } @@ -51,7 +54,8 @@ public static String reverseFirstWordThenCamelCase(String sentence) { * given a string and index, return an identical string excluding the character at the specified index */ public static String removeCharacterAtIndex(String str, int index) { - return null; + + return str.substring(0, index) + str.substring(index + 1); } } From 923934396390769bff1634e542f2ab060d549441 Mon Sep 17 00:00:00 2001 From: Mohammed Date: Mon, 8 Jul 2024 13:18:42 -0400 Subject: [PATCH 5/8] completed part 1,2,4,5 - not done with 3 --- .../assessment1/part3/Cat.java | 29 +++++++++++++++-- .../assessment1/part3/Dog.java | 32 +++++++++++++++++-- .../assessment1/part3/Pet.java | 19 +++++++++-- .../assessment1/part3/PetOwner.java | 31 ++++++++++++++++-- .../assessment1/part4/Jumper.java | 8 ++++- .../assessment1/part5/Palindrome.java | 23 +++++++++++-- 6 files changed, 129 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java index e731b77..38d46b1 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java @@ -8,20 +8,26 @@ public class Cat extends Pet { * @param name name of this Cat * @param age age of this Cat */ + private String name = ""; + private Integer age = 0; public Cat(String name, Integer age) { - + this.name = name; + this.age =age; } /** * @param age age of this Cat */ public Cat(Integer age) { + this.age =age; + this.name = "Cat name"; } /** * @param name name of this Cat */ public Cat(String name) { + this.name= name; } @@ -32,12 +38,31 @@ public Cat(String name) { * age is 0 */ public Cat() { + this.name = "Cat name"; + } + + @Override + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; } /** * @return meow as a string */ public String speak() { - return null; + return "Meow"; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java index 0c775fd..a5fcfa6 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java @@ -7,22 +7,48 @@ public class Dog extends Pet { /** * @param name name of this Dog * @param age age of this dog + * */ + private String name=""; + private Integer age =0; public Dog(String name, Integer age) { +//super(name, age); + this.name =name; + this.age =age; + } + + @Override + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public Integer getAge() { + return age; + } + public void setAge(Integer age) { + this.age = age; } /** * @param age age of this dog */ public Dog(Integer age) { + this.age = age; + this.name = "Dog name"; } /** * @param name name of this dog */ public Dog(String name) { - + this.name =name; + this.age =this.age; } /** @@ -32,12 +58,14 @@ public Dog(String name) { * age is 0 */ public Dog() { + this.name = "Dog name"; + this.age = 0; } /** * @return bark as a string */ public String speak() { - return null; + return "Bark"; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java index 3c925da..d645ca4 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java @@ -8,13 +8,20 @@ public abstract class Pet implements Animal { * nullary constructor * by default, pet has age of 0; name of ""; */ + private String name = ""; + private Integer age =0; + private PetOwner owner; public Pet() { +// this.name = ""; +// this.age =0; } /** * @param name name of this pet */ public Pet(String name) { + this.name =name; + this.age =0; } @@ -22,6 +29,7 @@ public Pet(String name) { * @param age age of this pet */ public Pet(int age) { + this.age =age; } /** @@ -29,20 +37,22 @@ public Pet(int age) { * @param age age of this pet */ public Pet(String name, int age) { + this.name = name; + this.age =age; } /** * @return name of this pet */ public String getName() { - return null; + return this.name; } /** * @return age of this pet */ public Integer getAge() { - return null; + return this.age; } /** @@ -50,12 +60,15 @@ public Integer getAge() { * ensure this instance of `Pet` is added to the owner's composite `pets` list */ public void setOwner(PetOwner newPetOwner) { + + } /** * @return PetOwner object whose composite `pets` collection contains this Pet instance */ public PetOwner getOwner() { - return null; +//return null; + return this.owner; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java index 7bbf2ab..d81baa7 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java @@ -1,5 +1,9 @@ package com.zipcodewilmington.assessment1.part3; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** * Created by leon on 2/16/18. */ @@ -8,19 +12,36 @@ public class PetOwner { * @param name name of the owner of the Pet * @param pets array of Pet object */ + private String name; + private Pet[] pets; + + + public PetOwner(String name, Pet... pets) { + this.name =name; + this.pets = pets; } /** * @param pet pet to be added to the composite collection of Pets */ public void addPet(Pet pet) { + List petList = Arrays.asList(pets); + +// ArrayList arrayList = new ArrayList<>(); +// for(Pet object : this.pets){ +// arrayList.add(object); +// } + petList.add(pet); +// return null; + this.pets = (Pet[]) petList.toArray(); } /** * @param pet pet to be removed from the composite collection Pets */ public void removePet(Pet pet) { + // pets.remove(pet); } @@ -29,13 +50,15 @@ public void removePet(Pet pet) { * @return true if I own this pet */ public Boolean isOwnerOf(Pet pet) { - return null; + + return pet.getName().equals(this.name); } /** * @return the age of the Pet object whose age field is the lowest amongst all Pets in this class */ public Integer getYoungetPetAge() { + return null; } @@ -68,13 +91,15 @@ public Integer getNumberOfPets() { * @return the name property of the Pet */ public String getName() { - return null; + + return this.name; } /** * @return array representation of animals owned by this PetOwner */ public Pet[] getPets() { - return null; + + return this.pets; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java b/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java index f881e9c..2e1635c 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java @@ -6,6 +6,12 @@ public class Jumper { * Complete the function below. */ public int jumps(int k, int j) { - return -1; + if(j == k){ + return 1; + } + + int divide = k /j; // 52 jumps has to check how many 1 jumps now. + int remainder = k % j; + return divide + remainder; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java b/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java index 89e2016..7e4c632 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java @@ -2,7 +2,26 @@ public class Palindrome { - public Integer countPalindromes(String input){ - return null; + public static Integer countPalindromes(String input){ + int size = input.length();// all single characters in string are treated as palindromes. + int count = size; + for(int i=0; i Date: Mon, 8 Jul 2024 14:55:54 -0400 Subject: [PATCH 6/8] completed majority of part 3 --- .../assessment1/part3/Pet.java | 4 +- .../assessment1/part3/PetOwner.java | 99 ++++++++++++++++--- .../assessment1/part4/Jumper.java | 9 +- .../assessment1/part5/Palindrome.java | 14 +-- 4 files changed, 98 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java index d645ca4..4dffdb6 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java @@ -60,8 +60,8 @@ public Integer getAge() { * ensure this instance of `Pet` is added to the owner's composite `pets` list */ public void setOwner(PetOwner newPetOwner) { - - + // Pet pet = new Pet(this.name, this.age); + newPetOwner.addPet(this); } /** diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java index d81baa7..97ac6a2 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java @@ -13,8 +13,8 @@ public class PetOwner { * @param pets array of Pet object */ private String name; - private Pet[] pets; - + //private Pet[] pets = new Pet[]; + public Pet[] pets; public PetOwner(String name, Pet... pets) { @@ -26,22 +26,68 @@ public PetOwner(String name, Pet... pets) { * @param pet pet to be added to the composite collection of Pets */ public void addPet(Pet pet) { - List petList = Arrays.asList(pets); - -// ArrayList arrayList = new ArrayList<>(); -// for(Pet object : this.pets){ -// arrayList.add(object); -// } - petList.add(pet); -// return null; - this.pets = (Pet[]) petList.toArray(); +// List petList = Arrays.asList(pets); +// +//// ArrayList arrayList = new ArrayList<>(); +//// for(Pet object : this.pets){ +//// arrayList.add(object); +//// } +// petList.add(pet); +//// return null; +// this.pets = (Pet[]) petList.toArray(); + Pet newarr[]; + int count; + if(this.pets == null){ + newarr = new Pet[1]; + count =0; + }else{ + newarr = new Pet[pets.length + 1]; + count = pets.length; + } + + + // insert the elements from + // the old array into the new array + // insert all elements till n + // then insert x at n+1 + + for (int i = 0; i < count; i++){ + newarr[i] = pets[i]; + } + newarr[count] = pet; + + + this.pets = newarr; + + //return newarr; } /** * @param pet pet to be removed from the composite collection Pets */ public void removePet(Pet pet) { - // pets.remove(pet); + // this.pets = (Pet[]) petList.toArray(); + Pet newarr[] = null; + int count; + if(this.pets.length == 1){ + this.pets[0] = null; +// newarr = new Pet[0]; +// count =0; + }else{ + newarr = new Pet[pets.length -1]; + count = pets.length; + for (int i = 0; i < count; i++){ + if(!pets[i].equals(pet)){ + newarr[i] = pets[i]; + } + + } + //newarr[count] = pet; + + + this.pets = newarr; + + } } @@ -59,7 +105,13 @@ public Boolean isOwnerOf(Pet pet) { */ public Integer getYoungetPetAge() { - return null; + Integer youngestAge = 100; + for(int i =0; i< this.pets.length; i++){ + if(pets[i].getAge() <= youngestAge){ + youngestAge = pets[i].getAge(); + } + } + return youngestAge; } @@ -69,7 +121,13 @@ public Integer getYoungetPetAge() { * @return the age of the Pet object whose age field is the highest amongst all Pets in this class */ public Integer getOldestPetAge() { - return null; + Integer youngestAge = 0; + for(int i =0; i< this.pets.length; i++){ + if(pets[i].getAge() >= youngestAge){ + youngestAge = pets[i].getAge(); + } + } + return youngestAge; } @@ -77,14 +135,23 @@ public Integer getOldestPetAge() { * @return the sum of ages of Pet objects stored in this class divided by the number of Pet object */ public Float getAveragePetAge() { - return null; + Float averagePetAge = 0.0F; + + for(int i =0; i< this.pets.length; i++){ + averagePetAge += pets[i].getAge(); + + } + return averagePetAge / this.pets.length; + + + } /** * @return the number of Pet objects stored in this class */ public Integer getNumberOfPets() { - return null; + return this.pets.length; } /** diff --git a/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java b/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java index 2e1635c..038ed09 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java @@ -7,11 +7,14 @@ public class Jumper { */ public int jumps(int k, int j) { if(j == k){ - return 1; + return 1; // if k equals j, then only one jump is required. } - - int divide = k /j; // 52 jumps has to check how many 1 jumps now. + // find j jumps amount by dividing k/j + int divide = k /j; + //now we need to check how many 1 jumps. + // check how many 1 jumps by finding the remainder when dividing k and j int remainder = k % j; + // add j amount of jumps to 1 jumps to get total amount of jumps to reach k return divide + remainder; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java b/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java index 7e4c632..ec4d994 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java @@ -2,7 +2,7 @@ public class Palindrome { - public static Integer countPalindromes(String input){ + public Integer countPalindromes(String input){ int size = input.length();// all single characters in string are treated as palindromes. int count = size; for(int i=0; i Date: Mon, 8 Jul 2024 16:29:36 -0400 Subject: [PATCH 7/8] almost complete --- .../assessment1/part3/Dog.java | 12 +++++++ .../assessment1/part3/Pet.java | 19 +++++++++--- .../assessment1/part3/PetOwner.java | 31 ++++++------------- .../assessment1/part3/PetTest.java | 1 + 4 files changed, 37 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java index a5fcfa6..a1ba387 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java @@ -11,6 +11,18 @@ public class Dog extends Pet { */ private String name=""; private Integer age =0; + //private PetOwner owner; + +// @Override +// public PetOwner getOwner() { +// return this.owner; +// } +// +// @Override +// public void setOwner(PetOwner owner) { +// this.owner = owner; +// } + public Dog(String name, Integer age) { //super(name, age); this.name =name; diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java index 4dffdb6..30ccf04 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java @@ -10,10 +10,11 @@ public abstract class Pet implements Animal { */ private String name = ""; private Integer age =0; - private PetOwner owner; + private PetOwner owner = null; + + public Pet() { -// this.name = ""; -// this.age =0; + } /** @@ -61,7 +62,11 @@ public Integer getAge() { */ public void setOwner(PetOwner newPetOwner) { // Pet pet = new Pet(this.name, this.age); - newPetOwner.addPet(this); + // this.owner = newPetOwner; + if(this.owner != newPetOwner) { + this.owner = newPetOwner; + newPetOwner.addPet(this); + } } /** @@ -69,6 +74,10 @@ public void setOwner(PetOwner newPetOwner) { */ public PetOwner getOwner() { //return null; - return this.owner; + if(this.owner != null){ + return this.owner; + } + + return null; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java index 97ac6a2..a9f7880 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java @@ -16,6 +16,8 @@ public class PetOwner { //private Pet[] pets = new Pet[]; public Pet[] pets; +// public PetOwner() { +// } public PetOwner(String name, Pet... pets) { this.name =name; @@ -26,15 +28,7 @@ public PetOwner(String name, Pet... pets) { * @param pet pet to be added to the composite collection of Pets */ public void addPet(Pet pet) { -// List petList = Arrays.asList(pets); -// -//// ArrayList arrayList = new ArrayList<>(); -//// for(Pet object : this.pets){ -//// arrayList.add(object); -//// } -// petList.add(pet); -//// return null; -// this.pets = (Pet[]) petList.toArray(); + Pet newarr[]; int count; if(this.pets == null){ @@ -46,11 +40,6 @@ public void addPet(Pet pet) { } - // insert the elements from - // the old array into the new array - // insert all elements till n - // then insert x at n+1 - for (int i = 0; i < count; i++){ newarr[i] = pets[i]; } @@ -59,20 +48,17 @@ public void addPet(Pet pet) { this.pets = newarr; - //return newarr; } /** * @param pet pet to be removed from the composite collection Pets */ public void removePet(Pet pet) { - // this.pets = (Pet[]) petList.toArray(); Pet newarr[] = null; int count; if(this.pets.length == 1){ this.pets[0] = null; -// newarr = new Pet[0]; -// count =0; + }else{ newarr = new Pet[pets.length -1]; count = pets.length; @@ -82,8 +68,6 @@ public void removePet(Pet pet) { } } - //newarr[count] = pet; - this.pets = newarr; @@ -97,7 +81,12 @@ public void removePet(Pet pet) { */ public Boolean isOwnerOf(Pet pet) { - return pet.getName().equals(this.name); + for (int i = 0; i < this.pets.length; i++){ + if(pets[i].equals(pet)){ + return true; + } + } + return false; } /** diff --git a/src/test/java/com/zipcodewilmington/assessment1/part3/PetTest.java b/src/test/java/com/zipcodewilmington/assessment1/part3/PetTest.java index 038d98b..1eaebe2 100644 --- a/src/test/java/com/zipcodewilmington/assessment1/part3/PetTest.java +++ b/src/test/java/com/zipcodewilmington/assessment1/part3/PetTest.java @@ -41,6 +41,7 @@ public void getOwnerTest() { PetOwner expected = new PetOwner(null, p); // When + PetOwner actual = p.getOwner(); // Then From 0db5515a688d5ccc550d7103cd10118856922012 Mon Sep 17 00:00:00 2001 From: Mohammed Date: Mon, 8 Jul 2024 16:39:04 -0400 Subject: [PATCH 8/8] completed --- .../java/com/zipcodewilmington/assessment1/part3/Pet.java | 8 ++------ .../com/zipcodewilmington/assessment1/part3/PetOwner.java | 1 + 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java index 30ccf04..cde76d3 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java @@ -65,7 +65,7 @@ public void setOwner(PetOwner newPetOwner) { // this.owner = newPetOwner; if(this.owner != newPetOwner) { this.owner = newPetOwner; - newPetOwner.addPet(this); + // newPetOwner.addPet(this); } } @@ -74,10 +74,6 @@ public void setOwner(PetOwner newPetOwner) { */ public PetOwner getOwner() { //return null; - if(this.owner != null){ - return this.owner; - } - - return null; + return this.owner; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java index a9f7880..cf58b92 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java @@ -19,6 +19,7 @@ public class PetOwner { // public PetOwner() { // } + public PetOwner(String name, Pet... pets) { this.name =name; this.pets = pets;