Fix Java Broken Code
Copy and paste code below to a single file called PetSystem.java. Fix all compilation and logic errors.
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class PetSystem {
private Map<String, Pet> petMap = new HashMap<>();
private Scanner scanner = new Scanner();
private String menu = """
\nMenu
1. Add pet
2. List all pets
3. Exit
Please make your selection (1-3): """;
public void run() {
while(true) {
System.out.print(menu);
String selection = scanner.nextLine();
if(selection == "3"){
break;
} else if(selection == "1") {
addPet();
} else if(selection == "2") {
listAllPets();
}
}
private void listAllPets() {
for(Pet pet: petMap) {
System.out.println("%s - %s - %s".formatted(pet.getSpecies, pet.getInfo, pet.getAge));
}
}
private void addPet {
System.out.println("\nENTER NEW PET");
System.out.print("Pet Species: ");
String species = scanner.nextLine();
System.out.print("Pet Name: ");
String name = scanner.nextLine();
System.out.print("Pet age: ");
String sAge = scanner.nextLine();
int age = Integer.parseInt(sAge);
Pet pet = new Pet(age, name, species);
petMap.add(pet.getName(),pet);
}
public static void main(String[] args) {
PetSystem petSystem = new PetSystem();
petSystem.run();
}
}
class Pet {
private String name;
private int age;
private String species;
public Pet(String name, int age, String species) {
this.name = name;
this.age = age;
this.species = species;
}
public String getName() {
return species;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSpecies() {
return name;
}
public void setSpecies(String species) {
this.species = species;
}
}Expected Result
Menu 1. Add pet 2. List all pets 3. Exit Please make your selection (1-3):1 ENTER NEW PET Pet Species: dog Pet Name: Stitch Pet age: 5 Menu 1. Add pet 2. List all pets 3. Exit Please make your selection (1-3):2 dog - Stitch - 5 Menu 1. Add pet 2. List all pets 3. Exit Please make your selection (1-3):1 ENTER NEW PET Pet Species: dog Pet Name: Maple Pet age: 7 Menu 1. Add pet 2. List all pets 3. Exit Please make your selection (1-3):2 dog - Stitch - 5 dog - Maple - 7 Menu 1. Add pet 2. List all pets 3. Exit Please make your selection (1-3):1 ENTER NEW PET Pet Species: tiger Pet Name: Tigger Pet age: 2 Menu 1. Add pet 2. List all pets 3. Exit Please make your selection (1-3):2 dog - Stitch - 5 tiger - Tigger - 2 dog - Maple - 7 Menu 1. Add pet 2. List all pets 3. Exit Please make your selection (1-3):3