Question: Functionality Work on this application has already been started. You must complete the following functionality: Create a Monkey Class that: Inherits from the RescueAnimal class

 Functionality Work on this application has already been started. You mustcomplete the following functionality: Create a Monkey Class that: Inherits from theRescueAnimal class Includes monkey-specific attributes Includes mutator and accessor methods for each

Functionality Work on this application has already been started. You must complete the following functionality: Create a Monkey Class that: Inherits from the RescueAnimal class Includes monkey-specific attributes Includes mutator and accessor methods for each attribute Complete the Driver Class. Add a menu loop that: Displays the (included) menu Prompts the user for input and validates the input Takes the appropriate action based on the input Complete a method to intake a new dog that: Prompts the user for input and validates the input Sets data for all attributes Adds the newly instantiated dog to an ArrayList Implement a method to intake a new monkey that: Prompts the user for input and validates based on monkey name and species type Sets data for all attributes Adds the newly instantiated monkey to an ArrayList Implement a method to reserve an animal that: Prompts the user for input If animal matches input criteria: Accesses animal object from ArrayList and updates the reserved attribute of the animal If no animal matches input criteria: Prints feedback to the user Implement a method to print (display) information about the animals that: Prints a list of all dogs OR all monkeys OR all animals that are in service and available (not reserved)

import java.util.ArrayList; import java.util.Scanner;

public class Driver { private static ArrayList dogList = new ArrayList(); // Instance variables (if needed)

public static void main(String[] args) {

initializeDogList(); initializeMonkeyList();

// Add a loop that displays the menu, accepts the users input // and takes the appropriate action. // For the project submission you must also include input validation // and appropriate feedback to the user. // Hint: create a Scanner and pass it to the necessary // methods // Hint: Menu options 4, 5, and 6 should all connect to the printAnimals() method.

}

// This method prints the menu options public static void displayMenu() { System.out.println(" "); System.out.println("\t\t\t\tRescue Animal System Menu"); System.out.println("[1] Intake a new dog"); System.out.println("[2] Intake a new monkey"); System.out.println("[3] Reserve an animal"); System.out.println("[4] Print a list of all dogs"); System.out.println("[5] Print a list of all monkeys"); System.out.println("[6] Print a list of all animals that are not reserved"); System.out.println("[q] Quit application"); System.out.println(); System.out.println("Enter a menu selection"); }

// Adds dogs to a list for testing public static void initializeDogList() { Dog dog1 = new Dog("Spot", "German Shepherd", "male", "1", "25.6", "05-12-2019", "United States", "intake", false, "United States"); Dog dog2 = new Dog("Rex", "Great Dane", "male", "3", "35.2", "02-03-2020", "United States", "Phase I", false, "United States"); Dog dog3 = new Dog("Bella", "Chihuahua", "female", "4", "25.6", "12-12-2019", "Canada", "in service", true, "Canada");

dogList.add(dog1); dogList.add(dog2); dogList.add(dog3); }

// Adds monkeys to a list for testing //Optional for testing public static void initializeMonkeyList() {

}

// Complete the intakeNewDog method // The input validation to check that the dog is not already in the list // is done for you public static void intakeNewDog(Scanner scanner) { System.out.println("What is the dog's name?"); String name = scanner.nextLine(); for(Dog dog: dogList) { if(dog.getName().equalsIgnoreCase(name)) { System.out.println(" This dog is already in our system "); return; //returns to menu } }

// Add the code to instantiate a new dog and add it to the appropriate list }

// Complete intakeNewMonkey //Instantiate and add the new monkey to the appropriate list // For the project submission you must also validate the input // to make sure the monkey doesn't already exist and the species type is allowed public static void intakeNewMonkey(Scanner scanner) { System.out.println("The method intakeNewMonkey needs to be implemented"); }

// Complete reserveAnimal // You will need to find the animal by animal type and in service country public static void reserveAnimal(Scanner scanner) { System.out.println("The method reserveAnimal needs to be implemented");

}

// Complete printAnimals // Include the animal name, status, acquisition country and if the animal is reserved. // Remember that this method connects to three different menu items. // The printAnimals() method has three different outputs // based on the listType parameter // dog - prints the list of dogs // monkey - prints the list of monkeys // available - prints a combined list of all animals that are // fully trained ("in service") but not reserved // Remember that you only have to fully implement ONE of these lists. // The other lists can have a print statement saying "This option needs to be implemented". // To score "exemplary" you must correctly implement the "available" list. public static void printAnimals() { System.out.println("The method printAnimals needs to be implemented");

} }

The Dog and Rescueanimal are already done just need the monkey class and driver class.

import java.lang.String;

public class RescueAnimal {

// Instance variables private String name; private String animalType; private String gender; private String age; private String weight; private String acquisitionDate; private String acquisitionCountry; private String trainingStatus; private boolean reserved; private String inServiceCountry;

// Constructor public RescueAnimal() { }

public String getName() { return name; }

public void setName(String name) { this.name = name; }

public String getAnimalType() { return animalType; }

public void setAnimalType(String animalType) { this.animalType = animalType; }

public String getGender() { return gender; }

public void setGender(String gender) { this.gender = gender; }

public String getAge() { return age; }

public void setAge(String age) { this.age = age; }

public String getWeight() { return weight; }

public void setWeight(String weight) { this.weight = weight; }

public String getAcquisitionDate() { return acquisitionDate; }

public void setAcquisitionDate(String acquisitionDate) { this.acquisitionDate = acquisitionDate; }

public String getAcquisitionLocation() { return acquisitionCountry; }

public void setAcquisitionLocation(String acquisitionCountry) { this.acquisitionCountry = acquisitionCountry; }

public boolean getReserved() { return reserved; }

public void setReserved(boolean reserved) { this.reserved = reserved; }

public String getInServiceLocation() { return inServiceCountry; }

public void setInServiceCountry(String inServiceCountry) { this.inServiceCountry = inServiceCountry; }

public String getTrainingStatus() { return trainingStatus; }

public void setTrainingStatus(String trainingStatus) { this.trainingStatus = trainingStatus; } }

public class Dog extends RescueAnimal {

// Instance variable private String breed;

// Constructor public Dog(String name, String breed, String gender, String age, String weight, String acquisitionDate, String acquisitionCountry, String trainingStatus, boolean reserved, String inServiceCountry) { setName(name); setBreed(breed); setGender(gender); setAge(age); setWeight(weight); setAcquisitionDate(acquisitionDate); setAcquisitionLocation(acquisitionCountry); setTrainingStatus(trainingStatus); setReserved(reserved); setInServiceCountry(inServiceCountry);

}

// Accessor Method public String getBreed() { return breed; }

// Mutator Method public void setBreed(String dogBreed) { breed = dogBreed; }

}

using the code given I need to make a monkeyintake class and add code to driver and with the printAnimals() method and reserveAnimal() method.

Competencies In this project, you will demonstrate your mastery of the following competencies: Implement appropriate language constructs for an object-oriented programming language Write programs using object-oriented conventions in accordance with industry standard best practices Scenario GLOBALRAIN You work for Global Rain, a software engineering company that specializes in custom software design and development. As a junior software developer, you are part of a software development team at Global Rain that collaborates to create software solutions for entrepreneurs, businesses, and government agencies around the world. You have been newly assigned to a development team at Global Rain. This team is currently working on a project for an innovative international search and rescue animal training company, Grazioso Salvare. Grazioso Salvare is seeking a software application that will help track search and rescue animals, sometimes referred to as rescue animals. These rescue animals are obtained and trained by the company to rescue humans from difficult (or even life-threatening) situations. A portion of the work on this project has already been done. Your team lead has assigned you to create one new class and modify the existing driver class in the software application. You will deliver all the class files to the team lead, who will consolidate them with the work from other team members and present the application to your client. Directions Your team lead has given you a specification document detailing Grazioso Salvare's software needs. Other members of the Global Rain development team have already started creating the Rescue Animal.java. Dog.java, and Driver.java class files. Your team lead has asked you to modify the existing Driver.java class and create a Monkey.java class as your contribution to the team. Required Pre-work 1. To gain a clear understanding of the client's requirements, review the Grazioso Salvare Specification Document, located in the Supporting Materials section. As you read, pay close attention to the attributes and methods that you will need to implement into the program 2. Open the Virtual Lab by clicking on the link in the Virtual Lab Access module. Then open the Eclipse IDE. Follow the uploading Files to Eclipse Tutorial to upload the Grazioso.zip files into Eclipse. Both the tutorial and the zipped folder are located in the Supporting Materials section. The Grazioso.zip folder contains three class files. Once you upload the files, compile the code. Although the program is not complete, it should compile without error. 3. Read through the code for each class that you have been given. This will help you understand what code has been created and what code must be modified or created to meet the requirements. Once you have completed the pre-work, you are ready to begin your assigned tasks. Monkey.java Class Hint: Remember to refer to the accessors and mutators in the Dog and Rescue Animal classes as you create this method. 4. Next, you will implement the intakeNewMonkey() method. Before you do this, you will need to create a monkey ArrayList in the Driver.java class. Refer to the dog ArrayList for an example. Then begin implementing the intakeNewMonkey0 method. Your completed method should do the following: Prompt the user for input Include input validation for the monkey's name and species type. If the user enters an invalid option, the program should print an error message. Set data for all attributes based on user input Add the newly instantiated monkey to an ArrayList Hint: Remember to refer to the accessors and mutators in your Monkey and Rescue Animal classes as you create this method. 5. IMPORTANT: In the Module Five milestone, you began implementing this method but were not required to include input validation. Be sure to include input validation for your Project Two submission. 5. Next, you will implement the reserveAnimal() method. Your completed method should do the following: Prompt the user for input. The user should enter their desired animal type and country. . If there is an available animal which meets the user's input criteria, the method should access an animal object from an ArrayList. If there are multiple animals that meet these criteria, the program should access the first animal in the ArrayList. The method should also update the reserved attribute of the accessed animal If there is not an available animal which meets the user's input criteria, the method should output feedback to the user letting them know that no animals of that type and location are available. 6. Finally, you have been asked to implement a printAnimals() method that provides easy-to-read output displaying the details of objects in an ArrayList. To demonstrate this criterion in a proficient" way, your implemented method must successfully print the ArrayList of dogs or the ArrayList of monkeys. To demonstrate this criterion in an exemplary way, your implemented method must successfully print a list of all animals that are in service" and "available

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!