From 27b2e9c931a0ca78c270af66b17a3dcce409810a Mon Sep 17 00:00:00 2001 From: danishahsancs Date: Mon, 21 Jul 2025 12:43:47 -0400 Subject: [PATCH] almost got all test cases --- .../zipcodewilmington/assessment1/Cat.java | 12 +++-- .../zipcodewilmington/assessment1/Dog.java | 12 +++-- .../zipcodewilmington/assessment1/Pet.java | 30 +++++++++--- .../assessment1/PetOwner.java | 47 +++++++++++++++---- 4 files changed, 81 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment1/Cat.java b/src/main/java/com/zipcodewilmington/assessment1/Cat.java index 1cf2894..990e3c6 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/Cat.java +++ b/src/main/java/com/zipcodewilmington/assessment1/Cat.java @@ -9,20 +9,24 @@ public class Cat extends Pet { * @param age age of this Cat */ 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; + this.age = 0; } /** @@ -32,12 +36,14 @@ public Cat(String name) { * age is 0 */ public Cat() { + this.name = "Cat name"; + this.age = 0; } /** * @return meow as a string */ public String speak() { - return null; + return "Meow"; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/Dog.java b/src/main/java/com/zipcodewilmington/assessment1/Dog.java index bca1c07..47a914d 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/Dog.java +++ b/src/main/java/com/zipcodewilmington/assessment1/Dog.java @@ -9,20 +9,24 @@ public class Dog extends Pet { * @param age age of this dog */ public Dog(String name, Integer age) { - + this.name = name; + 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 = 0; } /** @@ -32,12 +36,14 @@ public Dog(String name) { * age is 0 */ public Dog() { + this.age = 0; + this.name = "Dog name"; } /** * @return bark as a string */ public String speak() { - return null; + return "Bark"; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/Pet.java b/src/main/java/com/zipcodewilmington/assessment1/Pet.java index afc3e99..ade9dd0 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/Pet.java +++ b/src/main/java/com/zipcodewilmington/assessment1/Pet.java @@ -7,42 +7,59 @@ public abstract class Pet implements Animal { /** * nullary constructor * by default, pet has age of 0; name of ""; + * */ + String name; + Integer age; + PetOwner owner; + public Pet() { + name = ""; + age = 0; + owner = null; } /** * @param name name of this pet */ - public Pet(String name) { + public Pet(String nm) { + name = nm; + age = 0; + owner = null; } /** * @param age age of this pet */ - public Pet(int age) { + public Pet(int ag) { + name = ""; + age = ag; + owner = null; } /** * @param name name of this pet * @param age age of this pet */ - public Pet(String name, int age) { + public Pet(String nm, int ag) { + name = nm; + age = ag; + owner = null; } /** * @return name of this pet */ public String getName() { - return null; + return name; } /** * @return age of this pet */ public Integer getAge() { - return null; + return age; } /** @@ -50,12 +67,13 @@ public Integer getAge() { * ensure this instance of `Pet` is added to the owner's composite `pets` list */ public void setOwner(PetOwner newPetOwner) { + owner = newPetOwner; } /** * @return PetOwner object whose composite `pets` collection contains this Pet instance */ public PetOwner getOwner() { - return null; + return owner; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/PetOwner.java b/src/main/java/com/zipcodewilmington/assessment1/PetOwner.java index 326ada5..91bfde3 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/PetOwner.java +++ b/src/main/java/com/zipcodewilmington/assessment1/PetOwner.java @@ -1,27 +1,38 @@ package com.zipcodewilmington.assessment1; +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** * Created by leon on 2/16/18. */ public class PetOwner { + + String ownerName; + List ownerpets; /** * @param name name of the owner of the Pet * @param pets array of Pet object */ public PetOwner(String name, Pet... pets) { + ownerName = name; + ownerpets = Arrays.asList(pets); } /** * @param pet pet to be added to the composite collection of Pets */ public void addPet(Pet pet) { + ownerpets.add(pet); } /** * @param pet pet to be removed from the composite collection Pets */ public void removePet(Pet pet) { - + ownerpets.remove(pet); } /** @@ -29,14 +40,21 @@ public void removePet(Pet pet) { * @return true if I own this pet */ public Boolean isOwnerOf(Pet pet) { - return null; + return ownerpets.contains(pet); } /** * @return the age of the Pet object whose age field is the lowest amongst all Pets in this class */ public Integer getYoungetPetAge() { - return null; + int youngest = ownerpets.get(0).getAge(); + + for(int i = 0; i < ownerpets.size();i++){ + if(ownerpets.get(i).getAge()oldest) + oldest = ownerpets.get(i).getAge(); + } + + return oldest; } @@ -54,27 +79,33 @@ 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 totalAge = 0; + + for(int i = 0; i < ownerpets.size();i++){ + totalAge+=ownerpets.get(i).getAge(); + } + + return totalAge/ownerpets.size(); } /** * @return the number of Pet objects stored in this class */ public Integer getNumberOfPets() { - return null; + return ownerpets.size(); } /** * @return the name property of the Pet */ public String getName() { - return null; + return ownerName; } /** * @return array representation of animals owned by this PetOwner */ public Pet[] getPets() { - return null; + return ownerpets.toArray(new Pet[0]); } }