14 Metody toString, equals i hashCode.
- Wykonaj poniższe czynności:
Zdefiniuj klasę
Person, która posiada następujące pola:firstName,lastNameiage.Napisz konstruktor, który przyjmuje trzy argumenty i waliduje je przed przypisaniem do odpowiednich pól.
- Wiek osoby (
age) nie powinien być ujemny. W przypadku podania wartości ujemnej dla wieku, ustaw wiek osoby na zero. - Pola
firstNameilastNamenie powinny być puste ani równać się null. W przypadku podania pustego napisu lub null dla tych pól, ustaw odpowiednio pusty napis.
- Wiek osoby (
Dodaj metodę
toString(), która zwraca informacje o osobie w formacie:"Person: [firstName] [lastName], Age: [age].". Zwróć uwagę na wielkość liter i znaki interpunkcyjne.Dodaj metodę
equals(), która porównuje dwie osoby na podstawie ich pólfirstName,lastNameiage. Dwie osoby są uważane za identyczne, jeśli wszystkie trzy pola są takie same.Dodaj metodę
hashCode(), która generuje kod hash dla odpowiedniego obiektu. Metoda ta powinna być zgodna z metodąequals()
- Wykonaj poniższe czynności:
- Zdefiniuj klasę
Vehicle, która posiada następujące pola:brand,modeliyearOfProduction. - Napisz konstruktor, który przyjmuje trzy argumenty i waliduje je przed przypisaniem do odpowiednich pól.
- Rok produkcji (
yearOfProduction) nie powinien być większy od aktualnego roku. W przypadku podania wartości większej, ustaw rok produkcji na aktualny rok. - Pola
brandimodelnie powinny być puste ani równać się null. W przypadku podania pustego napisu lub null dla tych pól, ustaw odpowiednio pusty napis.
- Rok produkcji (
- Dodaj metodę
toString(), która zwraca informacje o pojeździe w formacie:"Vehicle: [brand] [model], Year: [yearOfProduction].". - Dodaj metodę
equals(), która porównuje dwa pojazdy na podstawie ich pólbrand,modeliyearOfProduction. - Dodaj metodę
hashCode(), która generuje kod hash dla odpowiedniego obiektu. Metoda ta powinna być zgodna z metodąequals()
- Wykonaj poniższe czynności:
- Zdefiniuj klasę
Book, która posiada następujące pola:title,authorinumberOfPages. - Napisz konstruktor, który przyjmuje trzy argumenty i waliduje je przed przypisaniem do odpowiednich pól.
- Liczba stron (
numberOfPages) nie powinna być ujemna. W przypadku podania wartości ujemnej, ustaw liczbę stron na jedną. - Pola
titleiauthornie powinny być puste ani równać się null. W przypadku podania pustego napisu lub null, ustaw odpowiednio pusty napis.
- Liczba stron (
- Dodaj metodę
toString(), która zwraca informacje o książce w formacie:"Book: [title] by [author], Pages: [numberOfPages].". - Dodaj metodę
equals(), która porównuje dwie książki na podstawie ich póltitle,authorinumberOfPages. - Dodaj metodę
hashCode(), która generuje kod hash dla odpowiedniego obiektu. Metoda ta powinna być zgodna z metodąequals()
- Wykonaj poniższe czynności:
- Zdefiniuj klasę
Product, która posiada następujące pola:productName,categoryiprice. - Napisz konstruktor, który przyjmuje trzy argumenty i waliduje je przed przypisaniem do odpowiednich pól.
- Cena (
price) nie powinna być ujemna. W przypadku podania wartości ujemnej, ustaw cenę produktu na zero. - Pola
productNameicategorynie powinny być puste ani równać się null. W przypadku podania pustego napisu lub null, ustaw odpowiednio pusty napis.
- Cena (
- Dodaj metodę
toString(), która zwraca informacje o produkcie w formacie:"Product: [productName], Category: [category], Price: [price].". - Dodaj metodę
equals(), która porównuje dwa produkty na podstawie ich pólproductName,categoryiprice. - Dodaj metodę
hashCode(), która generuje kod hash dla odpowiedniego obiektu. Metoda ta powinna być zgodna z metodąequals()
- Wykonaj poniższe czynności:
- Stwórz klasę
Results(wyniki testu) z prywatnymi polami:firstName,lastNameorazresults(jako tablica typuint). Dodaj konstruktor, który przyjmujefirstName,lastNameoraz rozmiar tablicy jako argumenty. Dodaj metody dostępowe (gettery i settery) oraz metodęaddResult(int index, int result), która dodaje wynik testu na podanym indeksie. Dodaj również metodęaverageResult()do obliczania i zwracania średniego wyniku.
- Dodaj metodę
toString(), która zwraca informacje o uczniu, jego wynikach oraz zawartość tablicyresultsw formacie:"Results for [firstName] [lastName]: Average Score = [averageResult], Results: [result1, result2, ...]. ". Ponadto dodaj metodęequals(), która porównuje dwa obiekty klasyResultsna podstawie ich pólfirstName,lastNameoraz zawartości tablicyresults. Dwa obiekty są uważane za identyczne, jeśli wszystkie pola i wyniki testów w tablicach są takie same. Dodaj także metodęhashCode(), która generuje kod hash dla odpowiedniego obiektu. Metoda ta powinna być zgodna z metodąequals()
- Wykonaj poniższe czynności:
- Stwórz klasę
CDAlbumz prywatnymi polami:artistName,albumTitleoraztracks(jako tablica typuintreprezentująca długość każdego utworu w minutach). - Dodaj konstruktor, który przyjmuje
artistName,albumTitleoraz ilość utworów jako argumenty. - Dodaj metody dostępowe (gettery i settery) oraz metodę
addTrack(int index, int length), która dodaje długość utworu na podanym indeksie. - Dodaj również metodę
totalLength()do obliczania i zwracania łącznej długości wszystkich utworów. - Dodaj metodę
toString(), która zwraca informacje o artyście, albumie oraz czasie trwania wszystkich utworów w formacie:"CDAlbum by [artistName]: [albumTitle], Total Length = [totalLength] minutes, Tracks Length: [length1, length2, ...]. ". - Dodaj metodę
equals(), która porównuje dwa obiekty klasyCDAlbumna podstawie ich pólartistName,albumTitleoraz zawartości tablicytracks. Dwa albumy są uważane za identyczne, jeśli wszystkie informacje są takie same. - Dodaj metodę
hashCode(), która generuje kod hash dla odpowiedniego obiektu. Metoda ta powinna być zgodna z metodąequals()
- Wykonaj poniższe czynności:
- Stwórz klasę
MovieRatingz prywatnymi polami:movieTitle,directorNameorazratings(jako tablica typudoublereprezentująca oceny filmu w skali od 1 do 10). - Dodaj konstruktor, który przyjmuje
movieTitle,directorNameoraz ilość ocen jako argumenty. - Dodaj metody dostępowe (gettery i settery) oraz metodę
addRating(int index, double rating), która dodaje ocenę filmu na podanym indeksie. - Dodaj również metodę
averageRating()do obliczania i zwracania średniej oceny filmu. - Dodaj metodę
toString(), która zwraca informacje o filmie, reżyserze, średniej ocenie oraz wszystkich ocenach w formacie:"MovieRating for [movieTitle] by [directorName]: Average Rating = [averageRating], Ratings: [rating1, rating2, ...]. ". - Dodaj metodę
equals(), która porównuje dwa obiekty klasyMovieRatingna podstawie ich pólmovieTitle,directorNameoraz zawartości tablicyratings. Dwa filmy są uważane za identyczne, jeśli wszystkie informacje są takie same. - Dodaj metodę
hashCode(), która generuje kod hash dla odpowiedniego obiektu. Metoda ta powinna być zgodna z metodąequals()
- Wykonaj poniższe czynności:
Stwórz klasę
Gradebookz prywatnymi polami:firstName,lastNameorazgrades(jakoArrayListtypuint). Dodaj konstruktor, który przyjmuje firstName i lastName jako argumenty. Dodaj metody dostępowe (gettery i settery) oraz metodyaddGrade(int grade)iremoveGrade(int index), które odpowiednio dodają lub usuwają ocenę z listy ocen. Dodaj również metodęaverageGrade()do obliczania i zwracania średniej ocen.Dodaj metodę
toString(), która zwraca informacje o uczniu, średniej jego ocen oraz wszystkich ocenach w formacie:"Gradebook for [firstName] [lastName]: Average Grade = [averageGrade], Grades: [grade1, grade2, ...].". Zwróć uwagę na wielkość liter i znaki interpunkcyjne.Dodaj metodę
equals(), która porównuje dwa obiekty klasyGradebookna podstawie ich pólfirstName,lastNameoraz zawartości listygrades. Dwa dzienniczki są uważane za identyczne, jeśli mają takie same imię, nazwisko i identyczny zestaw ocen (z uwzględnieniem kolejności).Dodaj metodę
hashCode(), która generuje kod hash dla odpowiedniego obiektu. Metoda ta powinna być zgodna z metodąequals()
- Wykonaj poniższe czynności:
- Stwórz klasę
Walletz prywatnymi polami:ownerName,ownerSurnameorazcoins(jakoArrayListtypudouble). Dodaj konstruktor, który przyjmujeownerNameiownerSurnamejako argumenty. Dodaj metody dostępowe (gettery i settery) oraz metodyaddCoin(double coin)iremoveCoin(int index), które odpowiednio dodają lub usuwają monetę z listy monet. - Dodaj również metodę
totalAmount()do obliczania i zwracania łącznej kwoty w portfelu. - Dodaj metodę
toString(), która zwraca informacje o właścicielu portfela, łącznej kwocie oraz wszystkich monetach w formacie:"Wallet of [ownerName] [ownerSurname]: Total Amount = [totalAmount], Coins: [coin1, coin2, ...].". Zwróć uwagę na wielkość liter i znaki interpunkcyjne. - Dodaj metodę
equals(), która porównuje dwa obiekty klasyWalletna podstawie ich pólownerName,ownerSurnameoraz zawartości listycoins. Dwa portfele są uważane za identyczne, jeśli mają tego samego właściciela i identyczny zestaw monet (bez uwzględnienia kolejności). - Dodaj metodę
hashCode(), która generuje kod hash dla odpowiedniego obiektu. Metoda ta powinna być zgodna z metodąequals()
- Wykonaj poniższe czynności:
- Stwórz klasę
LibraryCardz prywatnymi polami:holderFirstName,holderLastNameorazbooksBorrowed(jakoArrayListtypuString). Dodaj konstruktor, który przyjmujeholderFirstNameiholderLastNamejako argumenty. Dodaj metody dostępowe (gettery i settery) oraz metodyborrowBook(String bookTitle)ireturnBook(String bookTitle), które odpowiednio dodają lub usuwają tytuł książki z listy wypożyczonych książek. - Dodaj również metodę
numberOfBooksBorrowed()do obliczania i zwracania liczby wypożyczonych książek. - Dodaj metodę
toString(), która zwraca informacje o posiadaczu karty, liczbie wypożyczonych książek oraz wszystkich tytułach wypożyczonych książek w formacie:"Library card of [holderFirstName] [holderLastName]: Number of books borrowed = [numberOfBooksBorrowed], Books: [book1, book2, ...].". Zwróć uwagę na wielkość liter i znaki interpunkcyjne. - Dodaj metodę
equals(), która porównuje dwa obiekty klasyLibraryCardna podstawie ich pólholderFirstName,holderLastNameoraz zawartości listybooksBorrowed. Dwóch posiadaczy kart bibliotecznych uważa się za identycznych, jeśli mają takie same imię, nazwisko i identyczny zestaw wypożyczonych książek (z zachowaniem kolejności). - Dodaj metodę
hashCode(), która generuje kod hash dla odpowiedniego obiektu. Metoda ta powinna być zgodna z metodąequals()