import java.io.*; public class TestFamilies { public static void main (String[] args) throws IOException { BufferedReader stdin = new BufferedReader ( new InputStreamReader(System.in),1); String again = "N"; int pets, humans, age; String name = null, gender = null; Family family = null; Families fams = new Families(); do { family = new Family(); System.out.print("Enter number of pets in the family: "); pets = Integer.parseInt(stdin.readLine()); System.out.print("Enter the number of humans in the family: "); humans = Integer.parseInt(stdin.readLine()); int response = 0; for (int i = 1; i <= pets; i++) { FamilyMember fm = null; System.out.print("Enter the pet " + i + " name: " ); name = stdin.readLine(); System.out.print("Enter the pet's age: "); age = Integer.parseInt(stdin.readLine()); do { System.out.println("Enter the number for the gender of the pet:" + "\n 1. Male" + "\n 2. Female" + "\n"); response = Integer.parseInt(stdin.readLine()); switch (response) { case 1: gender = "Male"; break; case 2: gender = "Female"; break; default: System.out.println("Please enter a 1 or a 2"); }//switch }while (response < 1 || response > 2); do { System.out.println("Enter the number for the type of pet: " + "\n 1. Dog" + "\n 2. Cat" + "\n 3. Gerbil" + "\n"); response = Integer.parseInt(stdin.readLine()); switch (response) { case 1: System.out.print("Enter the dog's breed: "); String breed = stdin.readLine(); fm = new Dog(name, age, gender, breed); break; case 2: System.out.print("Enter the cat's temperment: "); String temper = stdin.readLine(); fm = new Cat(name, age, gender, temper); break; case 3: System.out.print("Enger the gerbil's color: "); String color = stdin.readLine(); fm = new Gerbil(name, age, gender, color); break; default: System.out.println("Please enter 1, 2, or 3:"); }//switch }while (response < 0 || response > 3); family.addMember(fm); }//for for (int i = 1; i <= humans; i++) { FamilyMember fm = null; System.out.print("Enter the human family member " + i + " name: " ); name = stdin.readLine(); System.out.print("Enter the human family member's age: "); age = Integer.parseInt(stdin.readLine()); do { System.out.println("Enter the number for the gender of the human family member:" + "\n 1. Male" + "\n 2. Female" + "\n"); response = Integer.parseInt(stdin.readLine()); switch (response) { case 1: gender = "Male"; break; case 2: gender = "Female"; break; default: System.out.println("Please enter a 1 or a 2"); }//switch }while (response < 1 || response > 2); do { System.out.println("Enter the number for the type of human family member: " + "\n 1. Parent" + "\n 2. Child" + "\n"); response = Integer.parseInt(stdin.readLine()); switch (response) { case 1: System.out.print("Enter the parent's occupation: "); String occupation = stdin.readLine(); fm = new Parent(name, age, gender, occupation); break; case 2: System.out.print("Enter the child's favorite toy: "); String toy = stdin.readLine(); fm = new Child(name, age, gender, toy); break; default: System.out.println("Please enter 1, 2, or 3:"); }//switch }while (response < 0 || response > 2); family.addMember(fm); }//for fams.addFamily(family); System.out.print("Do you want enter another family? (Y or N) "); again = stdin.readLine(); }while ((again.toUpperCase()).equals("Y")); fams.print(); }//main }//class ///////////////////////////////New File////////////////////////////////////////// import java.util.*; public class Families { Vector fams; public Families() { fams = new Vector(); } public void addFamily(Family f) { fams.addElement(f); } public void print() { for (int i = 0; i < fams.size(); i++) { ((Family)fams.elementAt(i)).print(); }//for }//print }//class ///////////////////////////////New File////////////////////////////////////////// import java.util.*; public class Family implements Printable { private Vector members; public Family() { members = new Vector(); } public void addMember(FamilyMember f) { members.addElement(f); } public void print() { System.out.println("======================================================="); for (int i = 0; i < members.size(); i++) { System.out.println("\nFamily Member Number: " + (i + 1)); ((FamilyMember)members.elementAt(i)).print(); } System.out.println("======================================================="); } }//Family ///////////////////////////////New File////////////////////////////////////////// public class FamilyMember { protected String name; protected int age; protected String gender; public FamilyMember(String n, int a, String g) { name = n; age = a; gender = g; } public void print() { System.out.println("\nName: " + name + "\nAge: " + age + "\nGender: " + gender); } }//class ///////////////////////////////New File////////////////////////////////////////// public class Human extends FamilyMember { public Human (String n, int a, String g) { super(n, a, g); } public void print() { System.out.println("\nHuman Information: "); super.print(); } }//Human ///////////////////////////////New File////////////////////////////////////////// public class Parent extends Human implements Printable { private String occupation; public Parent (String n, int a, String g, String o) { super(n, a, g); occupation = o; } public void print() { super.print(); System.out.println("Parent's Occupation: " + occupation); } }//Parent ///////////////////////////////New File////////////////////////////////////////// public class Child extends Human implements Printable { private String toy; public Child (String n, int a, String g, String t) { super(n, a, g); toy = t; } public void print() { super.print(); System.out.println("Child's favorite toy: " + toy); } }//Child ///////////////////////////////New File////////////////////////////////////////// public class Pet extends FamilyMember { public Pet (String n, int a, String g) { super(n, a, g); } public void print() { System.out.println("\nPet Information:"); super.print(); } }//Pet ///////////////////////////////New File////////////////////////////////////////// public class Cat extends Pet implements Printable { private String temperment; public Cat (String n, int a, String g, String t) { super(n, a, g); temperment = t; } public void print() { super.print(); System.out.println("Cat's temperment: " + temperment); } }//Cat ///////////////////////////////New File////////////////////////////////////////// public class Dog extends Pet implements Printable { private String breed; public Dog (String n, int a, String g, String b) { super(n, a, g); breed = b; } public void print() { super.print(); System.out.println("Dog's breed: " + breed); } }//Dog ///////////////////////////////New File////////////////////////////////////////// public class Gerbil extends Pet implements Printable { private String color; public Gerbil (String n, int a, String g, String c) { super(n, a, g); color = c; } public void print() { super.print(); System.out.println("Gerbil's Color: " + color); } }//Gerbil