import java.util.*; public class MainApplication { enum petTypes {CAT, DOG, TOUCAN}; Scanner kb; String petName; Pet[] pets; public MainApplication() { kb = new Scanner(System.in); System.out.println("How many pets do you have?"); pets = new Pet[kb.nextInt()]; kb.nextLine(); for (int i = 0; i < pets.length; i++) { System.out.println("What is your pet's name?"); petName = kb.nextLine(); System.out.println("What type of pet are they?"); switch (petTypes.valueOf(kb.nextLine().toUpperCase())) { case TOUCAN: pets[i] = new Toucan(petName); break; case DOG: pets[i] = new Dog(petName); break; case CAT: pets[i] = new Cat(petName); break; } } kb.close(); for (Pet pet : pets) { System.out.println( "My pet " + pet.getType() + " " + pet.getName() + " says: " + pet.speak()); } } }