Problem 3 - Grooming Salon 90/100 (Java Advanced Exam - 26 June 2021)
Здравейте,
На 3-та задача от Java Advanced Exam - 26 June 2021 гърми 8-мия тест. Предполаг проблема е в getPet(), въпреки че, на test case-овете работи безпроблемно.
Линк към class-a GroomingSalon -> https://pastebin.com/STLVcrF1
Линк към class-a Pet -> https://pastebin.com/LjyUnEP5
Линк към class-a Main -> https://pastebin.com/e25RsK9C
Линк към Judge -> https://judge.softuni.org/Contests/Practice/Index/2997#2
Условието:
Your task is to create a repository, which stores items by creating the classes described below.
First, write a Java class Pet with the following fields:
- name: String
- age: int
- owner: String
The class constructor should receive all fields. You need to create the appropriate getters and setters. The class should override the toString() method in the following format:
"{name} {age} - ({owner})"
Next, write a Java class GroomingSalon that has data (a collection, which stores the Pets). All entities inside the repository have the same fields. Also, the GroomingSalon class should have those fields:
- capacity: int
The class constructor should receive capacity, also it should initialize the data with a new instance of the collection. Implement the following features:
- Field data – List that holds added pets
- Method add(Pet pet) – adds an entity to the data if there is an empty place in the grooming salon for the pet.
- Method remove(String name) – removes the pet by given name, if such exists, and returns boolean.
- Method getPet(String name, String owner) – returns the pet with the given name and owner or null if no such pet exists.
- Getter getCount – returns the number of pets.
- getStatistics() – returns a String in the following format:
	- " The grooming salon has the following clients:
 {name} {owner}
 {name} {owner}
 
- " The grooming salon has the following clients:
(…)"
Constraints
- The combinations of names and owners will always be unique.
- The age of the pets will always be positive.
Examples
This is an example of how the GroomingSalon class is intended to be used.
| Sample code usage | 
| GroomingSalon salon = new GroomingSalon(20); 
 // Initialize entity Pet dog = new Pet("Ellias", 5, "Tim"); 
 // Print Pet System.out.println(dog); // Ellias 5 - (Tim) 
 // Add Pet salon.add(dog); 
 // Remove Pet System.out.println(salon.remove("Ellias")); // true System.out.println(salon.remove("Pufa")); // false 
 Pet cat = new Pet("Bella", 2, "Mia"); Pet bunny = new Pet("Zak", 4, "Jon"); 
 salon.add(cat); salon.add(bunny); 
 // Get Pet Pet pet = salon.getPet("Bella", "Mia"); System.out.println(pet); // Bella 2 - (Mia) 
 // Count System.out.println(salon.getCount()); // 2 
 // Get Statistics System.out.println(salon.getStatistics()); // The grooming salon has the following clients: //Bella Mia //Zak Jon | 
Благодаря!
Моля.