•
mesta na kome se nalaze. aravno, ispisivanje se vrši samo za ona parking mesta koja su zauzeta. $avnu metodu koja na ekranu ispisuje registarske brojeve svi" vozila koja se nalaze na parkingu a imaju beogradske tabli!e.
apraviti klasu TestParking koja kreira jedan objekat klase *arking kapa!iteta 87 mesta i u njega unosi kola sa tabli!ama 49 :;<-68= i ( ;<6-8=. )spisati registarske tabli!e svi" vozila koja su na parkingu, a onda i registarske tabli!e vozila iz 4eograda. Reenje!
public class ParkingMesto $ private boolean slobodno; private %tring registarski6roj; public %tring get9egistarski6roj(" $ return registarski6roj; ' public void set9egistarski6roj(%tring registarski6roj" $ this.registarski6roj = registarski6roj; ' public boolean is%lobodno(" $ return slobodno; ' public void set%lobodno( boolean slobodno" $ this.slobodno = slobodno; '
' public class Parking $ private ParkingMesto[] mesta; public Parking (int ka!acitet"$ if (ka!acitet ) *"$ mesta = new ParkingMesto[ka!acitet]; ' else$ %,stem. out.!rintln(&-reska&"; mesta = new ParkingMesto[:*]; ' for (int i=*; i/mesta.length;i00"$ mesta[i] = new ParkingMesto("; mesta[i].set%lobodno( true "; '
' public void is!isiPrvo("$ if (mesta[*].is%lobodno("" %,stem. out.!rintln(&Prvo mesto je slobodno&"; else %,stem. out.!rintln(&9egistarski broj4 &0 mesta[*].get9egistarski6roj(""; ' public void is!isiPoslednje("$ if (mesta[mesta.length+].is%lobodno("" %,stem. out.!rintln(&Poslednje mesto je slobodno&";
else
%,stem. out.!rintln(&9egistarski broj4 &0 mesta[mesta.length+].get9egistarski6roj(""; ' public boolean ima%lobodnih("$ for (int i=*; i/mesta.length;i00" if (mesta[i].is%lobodno("" return true ; return false;
' public int broj%lobodnih("$ int brojac = *; for (int i=*; i/mesta.length;i00" if (mesta[i].is%lobodno("" brojac00; return brojac;
' public boolean da
' public void vediNaParking (%tring reg6r"$ if (3ima%lobodnih("" %,stem. out.!rintln(&Nema slobodnih mesta&"; else$ for (int i=*; i/mesta.length;i00" if (mesta[i].is%lobodno(""$ mesta[i].set%lobodno(false"; mesta[i].set9egistarski6roj(reg6r"; break; ' ' ' public void izvedi%aParkinga (%tring reg6r"$ if (3da
> mesta[i].get9egistarski6roj(".e1als(reg6r""$ mesta[i].set%lobodno(true "; mesta[i].set9egistarski6roj(null"; break; ' ' ' public void is!isi("$ for (int i=*; i/mesta.length;i00" if (3mesta[i].is%lobodno("" %,stem.out.!rintln(&Mesto br.&0i0& 9eg. br. &0 mesta[i].get9egistarski6roj(""; '
public void is!isi6-("$ for (int i=*; i/mesta.length;i00" if (3mesta[i].is%lobodno(""$ %tring grad = mesta[i].get9egistarski6roj(".sbstring(*2 ?"; if (grad.e1als(&6-&"" %,stem.out.!rintln(&Mesto br.&0i0& 9eg. br. &0 mesta[i].get9egistarski6roj(""; ' '
' public class #estParking $ public static void main(%tring[] args" $
Parking ! = new Parking (@*"; !.vediNaParking(&6- +?5:@8&"; !.vediNaParking(&N% ?5:@8&"; !.is!isi("; !.is!isi6-("; ' ' Zadatak " apisati javnu klasu Mesto#$vionu koja ima' *rivatni atribut slobodno koji predstavlja indikator zauzetosti sedišta mesta#. /vaj indikator ima vrednost T%U0 ako je mesto slobodno a 123(0 ako nije. *očetna vrednost za ovaj atribut je T%U0. *rivatni atribut ime*rezime koji predstavlja ime i prezime putnika koji sedi na tom mestu dato u formatu )50 *%0>)50. *očetna vrednost za ovaj atribut je null. *rivatni atribut starost koji predstavlja broj godina putnika koji sedi na tom mestu. *očetna vrednost za ovaj atribut je 7. /dgovarajuće javne get i set metode za ova tri atributa. %edefinisanu metodu to(tring klase /bje!t koja vraća (tring sa svim poda!ima o mestu u avionu. 2ko je mesto slobodno, vraća se (tring koji sadrži reč (lobodno, a ako nije vraća se (tring sa imenom i prezimenom i godinama starosti putnika koji se nalazi na tom mestu. •
•
•
•
•
apisati javnu klasu $vion koja ima' *rivatni atribut mesta koji predstavlja niz objekata klase 5estoU2vionu. $avni konstruktor koji ini!ijalizuje atribut mesta i kreira svako pojedinačno mesto u avionu. 2vion ima tačno :;7 mesta. $avnu metodu uvedi*utnika koja kao ulazni argument dobija redni broj mesta, (tring sa imenom i prezimenom putnika i godine starosti putnika. 2ko je mesto sa tim brojem već zauzeto ili je uneti broj mesta van opsega 7-::?#, potrebno je ispisati poruku o greš!i, a u suprotnom uvesti putnika na dato mesto i postaviti da mesto nije slobodno. $avnu metodu izvedi*utnika koja kao ulazni argument dobija redni broj mesta. 2ko je mesto sa tim brojem već slobodno ili ako je broj mesta van opsega 7-::?#, potrebno je ispisati poruku o greš!i, a u suprotnom izvesti putnika sa datog mesta i postaviti mesto da bude slobodno. $avnu metodu da3i$eU2vionu koja kao ulazni argument dobija (tring sa imenom i prezimenom putnika i njegove godine starosti. 5etoda vraća T%U0 ako se putnik nalazi u avionu, a u suprotnom 123(0. $avnu metodu koja izračunava i vraća pro!entualnu zauzetost sedišta u avionu. 2ko je avion popunjen, metoda vraća :77.7@, a ako je prazan 7.7@. $avnu metodu koja proverava da li u avionu ima slobodni" sedišta. 2ko ima, metoda vraća T%U0, a u suprotnom 123(0. $avnu metodu koja izračunava i vraća prosečnu starost putnika kao !eo broj. $avnu metodu koja vraća broj godina najstarijeg putnika. $avnu metodu koja vraća broj godina najmlađeg putnika. •
•
•
•
•
•
•
•
•
•
•
•
$avnu metodu koja na ekranu ispisuje redni broj i podatke o svakom mestu u avionu. $avnu metodu koja na ekranu ispisuje podatke o svim putni!ima u avionu koji se prezivaju $ovanovi!.
apraviti klasu Test$vion koja kreira jedan objekat klase 2vion. *otrebno je u avion uvesti putnike' $ovan $ovanovi! 8< godine#, 5ilos 5ilosevi! ;< godine# i 2na $ovanovi! ;; godine# na ;:, <: i 6: mesto. )spisati sve podatke o putni!ima, ispisati samo podatke o putni!ima koji se prezivaju $ovanovi! i ispisati prosečnu starost putnika. Reenje!
public class MestoABvion $ private boolean slobodno = true ;; private %tring imePrezime = null; private int starost = *; public %tring getCmePrezime(" $ return imePrezime; ' public void setCmePrezime(%tring imePrezime" $ this.imePrezime = imePrezime; ' public boolean is%lobodno(" $ return slobodno; ' public void set%lobodno( boolean slobodno" $ this.slobodno = slobodno; ' public int get%tarost(" $ return starost; ' public void set%tarost(int starost" $ this.starost = starost; ' public %tring to%tring("$ if (slobodno" return &%lobodno&; else return &Cme !tnika &0imePrezime0& %tarost4 &0starost; '
' public class Bvion $ private MestoABvion[] mesta; public Bvion("$ mesta = new MestoABvion[+?*]; for (int i=*; i/+?*;i00" mesta[i] = new MestoABvion("; ' public void vediPtnika(int brojMesta2 %tring imePrezime2 int starost"$ if (brojMesta/* DD brojMesta)++E DD 3mesta[brojMesta].is%lobodno("" %,stem. out.!rintln(&-reska&"; else$ mesta[brojMesta].set%lobodno( false"; mesta[brojMesta].setCmePrezime(imePrezime"; mesta[brojMesta].set%tarost(starost"; ' ' public void izvediPtnika(int brojMesta"$
if (brojMesta/* DD brojMesta)++E DD mesta[brojMesta].is%lobodno("" %,stem. out.!rintln(&-reska&"; else$ mesta[brojMesta].set%lobodno( true"; mesta[brojMesta].setCmePrezime( null"; mesta[brojMesta].set%tarost(*"; '
' public boolean da> mesta[i].getCmePrezime(".e1als(imePrezime" >> mesta[i].get%tarost(" == starost" return true; return false;
' public double !rocentalnaFazetost("$ int brojFazetih = *; for (int i=*; i/+?*;i00" if (3mesta[i].is%lobodno("" brojFazetih00; return (brojFazetihG+**.*"+?*.*;
' public boolean da
' public int !rosecna%tarost("$ int sma = *; int brojFazetih = *; for (int i=*; i/+?*;i00" if (3mesta[i].is%lobodno(""$ sma = sma 0 mesta[i].get%tarost("; brojFazetih00; ' return smabrojFazetih; ' public int najstarijiPtnik("$ int maH-odine = *; for (int i=*; i/+?*;i00" if (3mesta[i].is%lobodno(" >> mesta[i].get%tarost(" ) maH-odine" maH-odine = mesta[i].get%tarost("; return maH-odine; ' public int najmladjiPtnik("$ int min-odine = ?**; for (int i=*; i/+?*;i00" if (3mesta[i].is%lobodno(" >> mesta[i].get%tarost(" / min-odine" min-odine = mesta[i].get%tarost("; return min-odine; ' public void is!isi("$ for (int i=*; i/+?*;i00"
%,stem. out.!rintln(&%ediste &0i0& &0mesta[i]"; ' public void is!isiovanovice("$ for (int i=*; i/+?*;i00" if (3mesta[i].is%lobodno(""$ %tring imePrezime = mesta[i].getCmePrezime("; %tring !rezime = imePrezime.sbstring(imePrezime.indeHIJ( "0+"; if (!rezime.e1als(&ovanovic&"" %,stem.out.!rintln(mesta[i]"; ' '
' public class #estBvion $ public static void main(%tring[] args" $
Bvion a = new Bvion("; a.vediPtnika(?*2 &ovan ovanovic&2 @5"; a.vediPtnika(5*2 &Milos Milosevic&2 ?5"; a.vediPtnika(:*2 &Bna ovanovic&2 ??"; a.is!isi("; a.is!isiovanovice("; %,stem.out.!rintln(&Prosecna starost !tnika je &0 a.!rosecna%tarost("0 & godina&"; ' ' Zadatak % apisati javnu klasu &ontakt koja ima' *rivatni atribut ime*rezime koji predstavlja ime i prezime osobe. *očetna vrednost za ovaj atribut je null. *rivatni atribut adresa. *očetna vrednost za ovaj atribut je null. *rivatni atribut telefon. *očetna vrednost za ovaj atribut je nula. /dgovarajuće javne get i set metode za ova tri atributa. edozvoljene vrednosti za ime*rezime i adresu su null (tring-ovi, a uneti telefon mora biti broj veći od nule. U slučaju prekoračenja bilo kojeg od ovi" ograničenja, potrebno je ispisati poruku na ekranu o tome koje ograničenje je prekoračeno i zašto. %edefinisanu metodu to(tring klase /bje!t koja vraća (tring sa svim poda!ima o kontaktu. •
•
•
•
•
apisati javnu klasu $dresar koja ima' *rivatni atribut kontakti koji predstavlja niz objekata klase +ontakt. $avni konstruktor koji ini!ijalizuje atribut kontakti na maksimalno ;87 kontakata. (matra se da je mesto u adresaru slobodno ako element na tom mestu ima vrednost U33. $avnu metodu ima(lobodni" koja vraća T%U0 ako u adresaru ima slobodni" mesta, a 123(0 ako nema. 5esto je slobodno ako element na tom mestu ima vrednost U33. $avnu metodu unesiU2dresar koja kao ulazni parametar dobija objekat klase +ontakt i unosi ga na prvo slobodno mesto u adresaru. 2ko u adresaru nema slobodni" mesta, potrebno je ispisati poruku o tome na ekranu. $avnu metodu unesiU2dresar koja kao ulazne parametre dobija ime i prezime jedan (tring#, adresu i telefon kontakta i unosi te podatke na prvo slobodno mesto u adresaru. 2ko u adresaru nema slobodni" mesta, potrebno je ispisati poruku o tome na ekranu. $avnu metodu izba!i)z2dresara koja kao ulazni parametar dobija ime i prezime osobe jedan (tring# i izba!uje tu osobu iz adresara. 2ko te osobe nema u adresaru, nije potrebno ništa uraditi. $avnu metodu ispisi koja ispisuje čitav sadržaj adresara, ali tako da se ne ispišu prazna mesta u adresaru. •
•
•
•
•
•
•
apraviti klasu Test$dresar koja kreira jedan objekat klase 2dresar. *otrebno je uuneti podatke o četiri osobe' *era
*eri!, /blakovska :, :;<68=, 5ika 5iki!, (tra"inji!a 4ana :, =86<;:, 3aza 3azi!, +neza 5ilosa :, 8=AB?7 i >ika >iki!, +aradjordjeva :, ?BA=86. Uneti prva dva kontakta pozivanjem prve metode za unos, a druga dva kontakta pozivanjem druge metode za unos. )spisati sve podatke iz adresara na ekranu. Reenje!
public class Kontakt $ private %tring imePrezime = null; private %tring adresa = null ; private int teleJon = *; public %tring getCmePrezime(" $ return imePrezime; ' public void setCmePrezime(%tring imePrezime" $ if (imePrezime == null" %,stem. out.!rintln(&Cme i !rezime ne mog biti nll&"; else this.imePrezime = imePrezime; ' public %tring getBdresa(" $ return adresa; ' public void setBdresa(%tring adresa" $ if (adresa == null" %,stem. out.!rintln(&Bdresa ne moze biti nll&"; else this.adresa = adresa; ' public int get#eleJon(" $ return teleJon; ' public void set#eleJon(int teleJon" $ if (teleJon/=*" %,stem. out.!rintln(&Aneti teleJon mora biti veci od nle& "; else this.teleJon = teleJon; ' public %tring to%tring("$ return &Cme i !rezime4 &0imePrezime0 & Bdresa4 &0adresa0 & #eleJon4 &0teleJon; '
' public class Bdresar $ private Kontakt[] kontakti; public Bdresar(" $ kontakti = new Kontakt[?@*]; ' public boolean ima%lobodnih(" $ for (int i = *; i / kontakti.length; i00" if (kontakti[i] == null " return true; return false;
'
public void nesiABdresar(Kontakt k" $ if (3ima%lobodnih("" %,stem. out.!rintln(&Nema mesta adresar&"; else for (int i = *; i / kontakti.length; i00" if (kontakti[i] == null " $ kontakti[i] = k; break; ' ' public void nesiABdresar(%tring imePrezime2 %tring adresa2 int teleJon" $ if (3ima%lobodnih("" %,stem. out.!rintln(&Nema mesta adresar&"; else for (int i = *; i / kontakti.length; i00" if (kontakti[i] == null " $ kontakti[i] = new Kontakt("; kontakti[i].setCmePrezime(imePrezime"; kontakti[i].setBdresa(adresa"; kontakti[i].set#eleJon(teleJon"; break; ' ' public void izbaciCzBdresara(%tring imePrezime" $ Pre !rovere jedankosti imena i !rezimena2 !otrebno je !roveriti da li je taj element niza o!ste inicijalizovan (3=nll". #ek onda se bezbedno mog !ozivati metode n!r. &getCme&. Llement adresara se &brise& tako sto m se dodeli &nll& vrednost. for (int i = *; i / kontakti.length; i00" if (kontakti[i] 3= null >> kontakti[i].getCmePrezime(".e1als(imePrezime"" $ kontakti[i] = null; break; ' ' public void is!isi("$ for (int i = *; i / kontakti.length; i00" if (kontakti[i] 3= null " %,stem.out.!rintln(kontakti[i]"; '
' public class #estBdresar $ public static void main(%tring[] args" $
Bdresar a = new Bdresar("; Kontakt k+ = new Kontakt("; k+.setCmePrezime(&Pera Peric&"; k+.setBdresa(&Iblakovska +&"; k+.set#eleJon(+?5:@8"; a.nesiABdresar(k+"; Kontakt k? = new Kontakt("; k?.setCmePrezime(&Mika Mikic&"; k?.setBdresa(&%trahinjica 6ana +&";
k?.set#eleJon(8@:5?+"; a.nesiABdresar(k?"; a.nesiABdresar(&