School assognment posted a question earlier but guess I didn't make it clarified now that I tested
Fantastic news! We've Found the answer you've been seeking!
Question:
School assognment posted a question earlier but guess I didn't make it clarified now that I tested it more.
This is the assignment in question:
- Your team lead reminded you to demonstrate industry standard best practices in all of your code to ensure clarity, consistency, and efficiency among all software developers working on the program. In your code for each class, be sure to include the following:
- In-line comments that denote your changes and briefly describe the functionality of each method or element of the class
- Appropriate variable and method naming conventions
- In a new Java file, c r e a t e the Monkey class, using the specification document as a guide. The Monkey class must do the following:
- Inherit from the RescueAnimal class
- Implement all attributes to meet the specifications
- Include a constructor. You may use a default constructor. To score "exemplary" on this criterion, you must include the more detailed constructor that initializes values for all attributes. Refer to the constructor in the Dog class for an example.
- Include accessors and mutators for all implemented attributes
Driver.java Class
In this class, you will modify and implement several different methods. You will need to refer back to the code from the other classes to properly implement these methods.
- As a reminder, you must demonstrate industry standard best practices, such as in-line comments to denote changes and describe functionality and appropriate naming conventions throughout the code that you cr.e.ate or modify for this class.
- First, you will modify the main() method. In main(), you must cr.e.a.t.e a menu loop that does the following:
- Displays the menu by calling the displayMenu() method. This method is in the Driver.java class.
- Prompts the user for input
- Includes input validation. If the user inputs a value not on the menu, the program should print an error message.
- Takes the appropriate action based on the value that the user entered.
- Next, you will complete the intakeNewDog() method. Your completed method should do the following:
- Prompt the user for input
- Include input validation. Note: The required input validation has already been included in the starter code; be sure to review it.
- Set data for all attributes based on user input
- Add the newly instantiated dog to an ArrayList
- Next, you will implement the intakeNewMonkey() method. Before you do , you will need to c r.e.a.t.e a monkey ArrayList in the Driver.java class. Refer to the dog ArrayList for an example. Then, begin implementing the intakeNewMonkey() 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
- 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 nd 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 nd location are available.
- 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".
the dog code and the rescueAnimal code are given can't be changed.
DOG:
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; } }
rescueAnimal:
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; } }
Driver code that I modified:
import java.util.ArrayList; import java.util.Scanner; public class Driver { private static ArrayList dogList = new ArrayList(); //had one for dog needed one for monkey private static ArrayList monkeyList = new ArrayList(); public static void main(String[] args) { initializeDogList(); initializeMonkeyList(); Scanner scanner = new Scanner(System.in); String choice; //starting the loop to display menu and get input from user do { displayMenu(); choice = scanner.nextLine(); //code will execute per user choice. switch (choice) { case "1": intakeNewDog(scanner); break; case "2": intakeNewMonkey(scanner); break; case "3": reserveAnimal(scanner); break; case "4": printAnimals("Dog"); break; case "5": //finish to print list of monkeys printAnimals("Monkey"); break; case "6": //need to implement and finish to print all printAnimals("Available"); break; case "q": System.out.println("Thank you, good bye!"); choice = "q"; break; default: System.out.println("Invalid choice."); break; } //continue expression }while (!choice.equals("q")); } // 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 //will getall attributes for dog then add everything from user input System.out.println("Dog's breed: "); String breed = scanner.nextLine(); System.out.println("Dog's gender: "); String gender = scanner.nextLine(); System.out.println("Dog's age: "); String age = scanner.nextLine(); System.out.println("Dog's weight: "); String weight = scanner.nextLine(); System.out.println("Acquisition date: "); String acquisitionDate = scanner.nextLine(); System.out.println("Acquisition Country: "); String acquisitionCountry = scanner.nextLine(); System.out.println("Training status: "); String trainingStatus = scanner.nextLine(); System.out.println("Is dog reserved? true or false"); boolean reserved = scanner.nextBoolean(); scanner.nextLine(); System.out.println("Dog's in-service country? "); String inServiceCountry = scanner.nextLine(); //new instance of Dog Dog dog = new Dog(name, breed, gender, age, weight, acquisitionDate, acquisitionCountry, trainingStatus,reserved, inServiceCountry); //setting type //add info to dog list dogList.add(dog); } // 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("Monkey's Name: "); String name = scanner.nextLine(); for(Monkey monkey: monkeyList) { if(monkey.getName().equalsIgnoreCase(name)) { System.out.println(" This Monkey is already in our system "); return; } } //getting species System.out.println("Monkey's species: "); String species = scanner.nextLine(); //now confirming species is allowed & prints error if not //added Squirrel monkey if (!species.equalsIgnoreCase("Capuchin") && !species.equalsIgnoreCase("Guenon") && !species.equalsIgnoreCase("Macaque") && !species.equalsIgnoreCase("Marmoset") && !species.equalsIgnoreCase("Tarmarin") && !species.equalsIgnoreCase("Squirrel Monkey")) { System.out.println("This is not an allowed species, sorry"); return; } //get info on new Monkey System.out.println("Monkey's gender: "); String gender = scanner.nextLine(); System.out.println("Monkey's age: "); String age = scanner.nextLine(); System.out.println("Monkey's weight: "); String weight = scanner.nextLine(); System.out.println("Acquisition date: "); String acquisitionDate = scanner.nextLine(); System.out.println("Acquisition Country: "); String acquisitionCountry = scanner.nextLine(); System.out.println("Tail length: "); String tailLength = scanner.nextLine(); System.out.println("Body length: "); String bodyLength = scanner.nextLine(); System.out.println("Height: "); String height = scanner.nextLine(); System.out.println("Training status: "); String trainingStatus = scanner.nextLine(); System.out.println("Is dog reserved? "); boolean reserved = scanner.nextBoolean(); scanner.nextLine(); System.out.println("Dog's in-service country? "); String inServiceCountry = scanner.nextLine(); //new monkey Monkey monkey = new Monkey(name, species, gender, age, weight, acquisitionDate, acquisitionCountry, reserved, bodyLength, height, trainingStatus, tailLength, inServiceCountry); monkeyList.add(monkey); } // Complete reserveAnimal // You will need to find the animal by animal type nd in service country public static void reserveAnimal(Scanner scanner) { //getting input and finding if there are dogs in that location or monkey //and saying yes or no System.out.println("What is the animal type? "); String animalType = scanner.nextLine(); System.out.println("What is the country they are in service? "); String inServiceCountry = scanner.nextLine(); if(animalType.equalsIgnoreCase("Monkey")) { for(Monkey monkey: monkeyList) { if(monkey.getInServiceLocation().equalsIgnoreCase(inServiceCountry) && monkey.getReserved() == false) { monkey.setReserved(true); System.out.println("Reserved:" + monkey.toString()); } else { System.out.println("There are none available."); } } } else { for(Dog dog: dogList) { if(dog.getInServiceLocation().equalsIgnoreCase(inServiceCountry) && dog.getReserved()== false) { dog.setReserved(true); } else { System.out.println("There are none Available."); } } } } // 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(String Type) { //printing the list base on the type t if(Type.equals("Monkey")) { System.out.println("Monkey List"); for(Monkey monkey: monkeyList) { System.out.println(monkey.toString()); } } if(Type.equals("Dog")) { System.out.println("Dog List"); for(Dog dog: dogList) { System.out.println(dog.toString()); } } if(Type.equals("Available")) { System.out.println("All in service and available animals"); for(Monkey monkey: monkeyList) { if(monkey.getTrainingStatus().equalsIgnoreCase("in service") && !monkey.getReserved()) { System.out.println(monkey.toString()); } } for(Dog dog: dogList) { if(dog.getTrainingStatus().equalsIgnoreCase("in service") && !dog.getReserved()) { System.out.println(dog.toString()); } } } } }
monkey made by me:
public class Monkey extends RescueAnimal { //Instance private String tailLength; private String height; private String bodyLength; private String species; //constructor public Monkey(String name, String gender, String age, String weight, String acquisitionDate, String acquisitionCountry, String trainingStatus, boolean reserved, String inServiceCountry, String tailLength, String height, String bodyLength, String species) { setName(name); setGender(gender); setAge(age); setWeight(weight); setAcquisitionDate(acquisitionDate); setAcquisitionLocation(acquisitionCountry); setTrainingStatus(trainingStatus); setReserved(reserved); setInServiceCountry(inServiceCountry); setTailLength(tailLength); setHeight(height); setBodyLength(bodyLength); setSpecies(species); } //Assessor public String getSpecies() { return species; } //Mutator public void setSpecies(String species) { this.species = species; } //Accessor public String getTailLength() { return tailLength; } //mutator public void setTailLength(String tailLength) { this.tailLength = tailLength; } //acc public String getHeight() { return height; } //mut public void setHeight(String height) { this.height = height; } //acc public String getBodyLength() { return bodyLength; } //mut public void setBodyLength(String bodyLength) { this.bodyLength = bodyLength; } }
can't get it to print the list of all available animals, please help revice my print Animal Statements.
Related Book For
Financial Accounting and Reporting a Global Perspective
ISBN: 978-1408076866
4th edition
Authors: Michel Lebas, Herve Stolowy, Yuan Ding
Posted Date: