Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Write a program that creates Pet objects from data read from the keyboard. Store these objects into an instance of ArrayList. Then sort the Pet
Write a program that creates Pet objects from data read from the keyboard. Store these objects into an instance of ArrayList. Then sort the Pet objects into alphabetic order by pet name, and finally display the data in the sorted Pet objects on the screen. Use PetRecord.java provided.
Please add comments in the code that say what each method does so that I can understand. Thank you!
Here is PetRecord.java
import java.io.*; import java.util.*; /** Class for basic pet records: name, age, and weight. Same as PetRecord, Listing 6.1 except: 1. It implements Serializable. 2. It has a readInput() method, similar to Species, Listing 5.19 3. It has a toString() method similar to Species, Listing 10.9 */ public class PetRecord implements Serializable { private String name; private int age; // in years private double weight; //in pounds public void readInput() { Scanner keyboard = new Scanner(System.in); System.out.println("Enter pet's name:"); name = keyboard.nextLine(); System.out.println("Enter pet's age:"); age = keyboard.nextInt(); if(age < 0) { System.out.println("Error: Age cannot be negative."); System.exit(0); } System.out.println("Enter pet's weight:"); weight = keyboard.nextDouble(); if(weight < 0) { System.out.println("Error: Weight cannot be negative."); System.exit(0); } } public String toString() { return ("Name = " + name + " " + "Age = " + age + " " + "Weight = " + weight + " "); } public void writeOutput() { System.out.println("Name: " + name); System.out.println("Age: " + age + " years"); System.out.println("Weight: " + weight + " pounds"); } public PetRecord( String initialName, int initialAge, double initialWeight) { name = initialName; if ((initialAge < 0) || (initialWeight < 0)) { System.out.println("Error: Negative age or weight."); System.exit(0); } else { age = initialAge; weight = initialWeight; } } public void set(String newName, int newAge, double newWeight) { name = newName; if ((newAge < 0) || (newWeight < 0)) { System.out.println("Error: Negative age or weight."); System.exit(0); } else { age = newAge; weight = newWeight; } } public PetRecord(String initialName) { name = initialName; age = 0; weight = 0; } public void set(String newName) { name = newName; // age and weight are unchanged. } public PetRecord(int initialAge) { name = "No name yet."; weight = 0; if (initialAge < 0) { System.out.println("Error: Negative age."); System.exit(0); } else age = initialAge; } public void set(int newAge) { if (newAge < 0) { System.out.println("Error: Negative age."); System.exit(0); } else age = newAge; // name and weight are unchanged. } public PetRecord(double initialWeight) { name = "No name yet"; age = 0; if (initialWeight < 0) { System.out.println("Error: Negative weight."); System.exit(0); } else weight = initialWeight; } public void set(double newWeight) { if (newWeight < 0) { System.out.println("Error: Negative weight."); System.exit(0); } else weight = newWeight; // name and age are unchanged. } public PetRecord() { name = "No name yet."; age = 0; weight = 0; } public String getName() { return name; } public int getAge() { return age; } public double getWeight() { return weight; } }
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started