14 Metody toString
, equals
i hashCode
.
- Wykonaj poniższe czynności:
Zdefiniuj klasę
Person
, która posiada następujące pola:firstName
,lastName
iage
.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
firstName
ilastName
nie 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
,lastName
iage
. 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
,model
iyearOfProduction
. - 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
brand
imodel
nie 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
,model
iyearOfProduction
. - 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
,author
inumberOfPages
. - 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
title
iauthor
nie 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
,author
inumberOfPages
. - 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
,category
iprice
. - 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
productName
icategory
nie 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
,category
iprice
. - 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
,lastName
orazresults
(jako tablica typuint
). Dodaj konstruktor, który przyjmujefirstName
,lastName
oraz 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ść tablicyresults
w formacie:"Results for [firstName] [lastName]: Average Score = [averageResult], Results: [result1, result2, ...]. "
. Ponadto dodaj metodęequals()
, która porównuje dwa obiekty klasyResults
na podstawie ich pólfirstName
,lastName
oraz 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ę
CDAlbum
z prywatnymi polami:artistName
,albumTitle
oraztracks
(jako tablica typuint
reprezentująca długość każdego utworu w minutach). - Dodaj konstruktor, który przyjmuje
artistName
,albumTitle
oraz 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 klasyCDAlbum
na podstawie ich pólartistName
,albumTitle
oraz 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ę
MovieRating
z prywatnymi polami:movieTitle
,directorName
orazratings
(jako tablica typudouble
reprezentująca oceny filmu w skali od 1 do 10). - Dodaj konstruktor, który przyjmuje
movieTitle
,directorName
oraz 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 klasyMovieRating
na podstawie ich pólmovieTitle
,directorName
oraz 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ę
Gradebook
z prywatnymi polami:firstName
,lastName
orazgrades
(jakoArrayList
typuint
). 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 klasyGradebook
na podstawie ich pólfirstName
,lastName
oraz 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ę
Wallet
z prywatnymi polami:ownerName
,ownerSurname
orazcoins
(jakoArrayList
typudouble
). Dodaj konstruktor, który przyjmujeownerName
iownerSurname
jako 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 klasyWallet
na podstawie ich pólownerName
,ownerSurname
oraz 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ę
LibraryCard
z prywatnymi polami:holderFirstName
,holderLastName
orazbooksBorrowed
(jakoArrayList
typuString
). Dodaj konstruktor, który przyjmujeholderFirstName
iholderLastName
jako 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 klasyLibraryCard
na podstawie ich pólholderFirstName
,holderLastName
oraz 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()