Exercise 1 – Objects and Classes

Requirements

Potrebno je kreirati klasu AnimalType koje ima sljedeće atribute:

  • name (String)

Atributima je potrebno postaviti privatno pravo pristupa (private) te definirati get i set metode koje će dohvaćati odnosno postavljati vrijednost atributima.

Kreirati konstruktor koji će kroz parametre primati sve vrijednosti za atribute te ih inicijalizirati (postaviti im vrijednosti).

Potrebno je kreirati klasu Animal koja ima sljedeće atribute:

  • name (String)
  • type (AnimalType)

Atributima je potrebno postaviti privatno pravo pristupa (private) te definirati get i set metode koje će dohvaćati odnosno postavljati vrijednost atributima.

Kreirati konstruktor koji će kroz parametre primati sve vrijednosti za atribute te ih inicijalizirati (postaviti im vrijednosti).

Potrebno je kreirati klasu Zoo koja ima sljedeće atribute:

  • name
  • size
  • animals (Animal[])
  • capacity (int)

Atributima je potrebno postaviti privatno pravo pristupa (private) te definirati get i set metode koje će dohvaćati odnosno postavljati vrijednost atributima.

Kreirati konstruktor koji će kroz parametre primati sve vrijednosti za atribute (osim atributa animals) te ih inicijalizirati (postaviti im vrijednosti).

Potrebno je inicijalizirati atribut animals na način da je broj maksimalnih elemenata definiran argumentom koji predstavlja capacity.

Korištenjem set metode potrebno je osigurati nemogućnost unosa vrijednosti koja je manja ili jednaka 0 atributu size. Ako se pokuša unesti takva vrijednost, na standardni izlaz potrebno je ispisati poruku “Size must be greater than 0.”. Dodatno, atributu size potrebno je postaviti vrijednost 10.

Istu funkcionalnost potrebno je postaviti i u konstruktoru.

Kreirati metodu public boolean addAnimal(Animal animal) koja će dodavati novi životinju u niz animals. Potrebno je osigurati da se ne može unesti više životinja nego je definirano atributom capacity. U slučaju pokušaja takvog unosa, potrebno je ispisati poruku “Zoo is full.” na standardni izlaz, te metoda mora vratiti vrijednost false. U suprotnom dodaje animal u niz te vraća vrijednost true.

Potrebno je kreirati metodu public boolean setAnimal(Animal animal, int index) koja će postaviti predani element tipa animal u polje na mjesto definirano argumentom index. Dodatno, potrebno je pripaziti da predana vrijednost varijable index doista postoji. Ukoliko ne postoji, potrebno je ispisati poruku “Invalid argument index.” te vratit vrijednost false. U suprotnom je potrebno ažurirati postojeći element te vratiti vrijednost true.

Rješenje je dostupno na našem GitHub repozitoriju.

Hint

Kako bi se jednostavnije pratio indeks na kojem treba dodati novu životinju, moguće je koristiti privatnu člancku varijablu.

Too Easy?

Zadatak je prejednostavan? Pokušaj dodati metodu public boolean remove(int index) koja uklanja životinju na zadanom indeksu. Pritom treba voditi računa da je, ukoliko je kapacitet pun, nakon što se ukloni životinja, moguće je dodati novu životinju.

Testing

Kako biste testirali funkcionalnosti, možete iskoristit sljedeću klasu: Main.java.

Send Us Your Solution

If you’re interested in our feedback, please send us your solution here. We’ll review it and let you know.

    Would you like to join us?

    We're looking for authors and developers. If you're interested, contact us. 
    Looking forward to hearing from you!