Laboratorijske vježbe iz kolegija “Programiranje u programskoj jeziku Java” 2006/2007

Politehnički specijalistički diplomski stručni studij Tehničko veleučilište u Zagrebu

Stranica 1/13

1. Laboratorijske vježbe 1.1. UPOZNAVANJE S JAVA RAZVOJNIM OKRUŽENJEM
Svrha laboratorijske vježbe je upoznavanje s razvojnim okruženjem koje će se koristiti prilikom rješavanja zadataka, te savladavanje osnovnih akcija kao što su unos, prevo enje i izvo enje jednostavnih gotovih primjera. Zadaci za laboratorijske vježbe rješavati će se pomoću razvojnog alata Eclipse SDK (engl. Software Development Kit), alata zajednice otvorenog koda (engl. open source community) koji se može besplatno download-ati sa web stranica www.eclipse.org. Osim njega, za obavljanje laboratorijskih vježbi potrebno je izvršno okruženje za Javu (engl. Java Runtime Environment) što se tako er može download-ati sa stranica http://java.sun.com/. Radna površina razvojnog alata Eclipse SDK izgleda kao na slici 1-1. Na lijevoj strani označen je Package explorer pogled (engl. view) na kojem se vidi naziv Java projekta (MyFirstJavaProject), mapa za spremanje izvornog koda (src), paket hr.tvz.programiranje.java.labosi.prvi, te datoteka HelloWorld.java koja sadržava programski kod. Sadržaj datoteke, odnosno tijelo klase, može se vidjeti na radnoj površini za pisanje programskog koda. Tako er se može vidjeti i inačica JRE-a.

Slika 1-1. Radna površina razvojnog alata Eclipse SDK
© Autor: Aleksander Radovan, dipl. ing., e-mail: aradovan@tvz.hr

te izgled strukture samog projekta. workspace) prikazano na slici 1-1. Pritiskom na tipku Next pojavljuje se prozor na kojem je moguće specificirati i ostala svojstva projekta (slika 1-4) kao što je kreiranje novog projekta u radnom okruženju ili kreiranje projekta iz postojećeg izvora. radno okruženje se nalazi na lokaciji “C:\eclipse-SDK\laboratorijskeVjezbe”.. Pretpostavljene (engl. Ukoliko želimo kreirati radno okruženje (engl. može se kreirati projekt u kojem će se nalaziti programski kod. Odabir radnog okruženja Nakon uspješnog otvaranja radnog okruženja.println() koja ispisuje poruku “Hello world!”. pojavljuje se radna površina sličan onoj koja je prikazana na slici 1-1. U slučaju na slici 1-2. umjesto radne površine sa slike 1-1.. default) postavke ne moraju se mijenjati za potrebe laboratorijskih vježbi pa je nakon upisivanja imena projekta u polje Project name dovoljno pritisnuti tipku Finish. © Autor: Aleksander Radovan. za potrebe laboratorijskih vježbi potrebno je kreirati Java projekt. izbor JRE-a koji će koristiti projekt. opet se dobije radna površina sličan onoj koja je prikazana na slici 1-1. Na desnoj strani označen je Outline pogled na kojem se mogu vidjeti sve metode i klase koje se koriste u trenutno prikazanoj datoteci. Iako Eclipse SDK podržava i druge vrste projekata. Ako se taj prozor zatvori pritiskom na “x”.out. prvo moramo pokrenuti Eclipse SDK. Slika 1-2.hr . Nakon što smo dobili radnu površinu koja je prikazana na slici 1-1. pojavljuje se “Welcome” ekran koji služi za upoznavanje s Eclipse SDK okruženjem.Laboratorijske vježbe iz kolegija “Programiranje u programskoj jeziku Java” 2006/2007 Politehnički specijalistički diplomski stručni studij Tehničko veleučilište u Zagrebu Stranica 2/13 Ispod radne površine za pisanje programskog koda nalazi se Console pogled u kojem se može vidjeti ispis programa. ing.. Nakon toga moramo izabrati radno okruženje u kojemu želimo kreirati novi projekt. To je moguće napraviti pomoću opcije File -> New -> Project. Ovaj pogled je vrlo koristan za pretraživanje ukoliko u datoteci postoji veliki broj metoda ili klasa. dipl. Nakon toga na ekranu pojavljuje se prozor za odabir tipa projekta na kojem je moguće odabrati Java Project (slika 1-3). U klasi HelloWorld koristi se naredba System. e-mail: aradovan@tvz. Ukoliko je zadano radno okruženje koje nije postojalo otprije.

Kreiranje mape za spremanje programskog koda Poslije odabira prikladnog imena za mapu u koju će se spremati programski kod. dipl. Slika 1-5.hr . potrebno je pritisnuti Finish. Eclipse SDK posjeduje vrstu mape koja je predvi ena za spremanje programskog koda. Zbog toga je dobro da se cijeli programski kod smjesti u mapu koja je namijenjena baš za to. ing. a to je Source Folder.Laboratorijske vježbe iz kolegija “Programiranje u programskoj jeziku Java” 2006/2007 Politehnički specijalistički diplomski stručni studij Tehničko veleučilište u Zagrebu Stranica 3/13 Slika 1-3: Kreiranje novog projekta Slika 1-4: Odre ivanje imena projekta Svaki dobro organizirani projekt svoj sadržaj ima podijeljen u logičke cjeline. Može se kreirati tako da se na simbolu novokreiranog Java projekta unutar Package explorer pogleda desnim klikom miša odabere opcija New -> Source Folder nakon čega se pojavljuje prozor na slici 1-5. © Autor: Aleksander Radovan.. e-mail: aradovan@tvz.

Važno je napomenuti da naziv paketa mora sadržavati isključivo mala slova abecede. prikazan je dijalog za kreiranje klase. Prema tom nazivu paketa vrlo je lako ustanoviti koja ustanova je autor tog koda. jer će to ujedno biti i klasa koju ćemo © Autor: Aleksander Radovan. a obrazovna ustanova je Tehničko veleučilište iz Zagreba (Hrvatska). odnosno klase. prvi zadatak. Superclass) koju će naslje ivati naša nova klasa. Kreiranje paketa Na kraju preostaje još samo kreiranje datoteke s programskim kodom. klikom desne tipke miša na prethodnu kreiranu mapu za spremanje programskog koda i odabiranjem opcije New -> Package otvara se dijalog za kreiranje paketa na slici 1-6. Paketi su logičke cjeline koje sadržavaju datoteke s programskim kodom i pomoćnih datoteka. dijalog za kreiranje klase može se aktivirati klikom desne tipke miša na prethodno kreirani paket i odabirom opcije New -> Class. Upisivanjem imena paketa i pritiskom na tipku Finish kreira se paket. Tako er je moguće odrediti koje metode će klasa sadržavati (označavanjem checkbox elemenata). ing.Laboratorijske vježbe iz kolegija “Programiranje u programskoj jeziku Java” 2006/2007 Politehnički specijalistički diplomski stručni studij Tehničko veleučilište u Zagrebu Stranica 4/13 Jedna od vrlo važnih karakteristika programskog jezika Java je organizacija datoteka s programskim kodom u pakete (engl. U našem primjeru je potrebna metoda public static void main(String args[]). Prije kreiranja same klase potrebno je odrediti njen naziv. Slično kao i do sada. Slika 1-6.prvi. ukoliko želimo kreirati paket za datoteke s programskim kodom za prvu laboratorijsku vježbu.programiranje. gdje svaki od njih jednoznačno označava neku logičku cjelinu. Samo ime klase tako er mora započeti velikim slovom. ako želimo kreirati klasu koja će generirati vozni red tramvaja. Ukoliko je namjenu klase nužno opisati u nekoliko riječi. Interfaces) koja će klasa implementirati.hr . Hello world program koji korisniku ispisuje jednostavnu pozdravnu poruku. U paketu će se nalaziti programski kod za labose iz programiranja u Javi.java. superklasa (engl. Na primjer. Ukoliko želimo imenovati klasu koja će korisniku ispisati pozdravnu poruku “Hello world!”. Na primjer. Na slici 1-7. Najjednostavniji primjer programskog koda je tzv. u koja je namjena programskog koda. Nakon odre ivanja naziva paketa.. koristi se konvencija imenovanja koja ne sadrži prazna mjesta. dipl.labosi. već svaka nova riječ počinje velikim slovom. e-mail: aradovan@tvz. package). Naziv paketa sastoji se od nekoliko dijelova odijeljenim točkama. a sadrži niz postavki od kojih su najvažnije ime klase koja se želi kreirati (u našem slučaju je to HelloWorld). te sučelja (engl.tvz. koja će se nalaziti u prethodno kreiranom paketu. prvo je potrebno odrediti te logičke cjeline. nazvat ćemo je HelloWorld. nazvat ćemo je GeneratorVoznogRedaTramvaja. Bold-ane logičke cjeline se koriste u kreiranju imena paketa: hr.

labosi. pritisak na tipku Finish kreira se klasa u paketu i pojavljivanje same klase u radnoj površini na slici 1-1. ing. Čarobnjak za kreiranje klase (engl.hr . Class creation wizard) unaprijed je kreirao većinu potrebnog programskog koda pa ga je potrebno dopuniti s dva retka unutar main metode: package hr.tvz. dipl.prvi.> 1 Java Application. te označavanja opcije za kreiranje main metode. u Console pogledu može se vidjeti ispis pozdravne poruke kao na slici 1-1. System.Laboratorijske vježbe iz kolegija “Programiranje u programskoj jeziku Java” 2006/2007 Politehnički specijalistički diplomski stručni studij Tehničko veleučilište u Zagrebu Stranica 5/13 izvršiti da bi dobili ispis pozdravne poruke na ekran. Slika 1-7. Kreiranje klase Posljednji korak u kreiranju projekta je upisivanje koda u novootvorenu klasu HelloWorld.programiranje. } } Nakon izmjena potrebno je spremiti promjene (opcija File -> Save) i pokrenuti klasu.out.. To je moguće napraviti klikom desne tipke miša na samoj klasi i odabirom opcije Run As . Čim završi izvršavanje programskog koda. e-mail: aradovan@tvz.println(poruka).java. Nakon upisivanja imena klase. public class HelloWorld { /** * @param args */ public static void main(String[] args) { String poruka = "Hello world!". © Autor: Aleksander Radovan.

plugins) koja je krajnje jednostavna. Svaki dodatak ima svoju web stranicu i može se besplatno download-ati. 1. dipl. 1. Ugra ivanje dodataka Eclipse SDK u svojoj osnovnoj inačici (engl. e-mail: aradovan@tvz. a proces © Autor: Aleksander Radovan. Na njemu potrebno je pomoću Browse tipke pronaći mapu projekta na lokalnom računalu (u našem slučaju to je mapa “C:\eclipse-SDK\laboratorijskeVjezbe\Factoriel”).hr . željama i navikama. version) nema ugra ene posebne opcije. KORIŠTENJE NAPREDNIH OPCIJA U ovom dijelu opisuju se neke napredne opcije koje se tako er mogu iskoristiti tijekom razvijanja aplikacije i mogu uvelike poboljšati i olakšati aktivnosti programera (engl.2. prikazuje se dijagol kao na slici 1-8..Laboratorijske vježbe iz kolegija “Programiranje u programskoj jeziku Java” 2006/2007 Politehnički specijalistički diplomski stručni studij Tehničko veleučilište u Zagrebu Stranica 6/13 1.2. koja se prikazuje ukoliko se pritisne desna tipka miša na površini Package explorer pogleda (dijalog je isti kao i na slici 1-3. developer). ing. samo što je potrebno odabrati drugu opciju). na njemu je moguće obavljati sve operacije kao i s projektima koji su kreirani “korak po korak” od samog početka. Nakon odabira spomenute opcije.2. Importiranje postojećih projekata u korisničko radno okruženje Osim kreiranja projekata od samog početka. Slika 1-8. Dodavanje postojećeg projekta u korisničko okruženje Nakon završetka procesa importiranja projekta. To je moguće postići pomoću opcije Import->General ->Existing Projects into workspace.1. već je ostavio mogućnost korisnicima da sami proširuju svoje radno okruženje u skladu s potrebama. Eclipse SDK podržava i opciju importiranja postojećih projekata u korisničko radno okruženje. Zbog toga postoji opcija ugra ivanja dodataka (engl.2.

Nakon toga potrebno je samo ponovno pokrenuti Eclipse SDK razvojno okruženje.3. dok je sam programski kod ispravan i može se izvoditi. dok AnyEdit radi pretvorbu tabulatora u prazna mjesta i time olakšava autoru koda samo strukturiranje i u slučaju ako je naviknuo korištenje tabulatora.Laboratorijske vježbe iz kolegija “Programiranje u programskoj jeziku Java” 2006/2007 Politehnički specijalistički diplomski stručni studij Tehničko veleučilište u Zagrebu Stranica 7/13 ugra ivanja sastoji se u kopiranju download-anih datoteka na odre enja mjesta unutar mape u kojoj je instaliran sam Eclipse SDK. ing. © Autor: Aleksander Radovan.checkstyle_4.7. Ako je Eclipse SDK instaliran u mapu “C:\eclipse-SDK”.tools. potrebno ga je najprije aktivirati. Dodatak za Checkstyle dolazi u obliku arhivirane datoteke naziva sličnog com. To je moguće učiniti pritiskom desne tipke miša na površini Package explorer pogleda i odabirom opcije Properties. Checkstyle dodatak je vrlo koristan za početnike u Javi jer potiče programera da programski kod kreira u skladu s konvencijama u pisanju koda.atlassw. Za potrebe laboratorijskih vježbi ugradit će se dva dodatka: Checkstyle i AnyEdit.anyedit. Kako ne postoji neka središnja web stranica na kojoj se mogu dohvatiti svi dodaci.eclipse.loskutov.jar koju je potrebno kopirati u mapu “C:\eclipse-SDK\plugins”. Dodaci se mogu sastojati od features i plugins dodataka. te da omogućuje lako snalaženje i uključivanje novih članova projektnog tima. potrebno je samo ponovno pokrenuti (engl. u kojoj se nalaze dvije mape: features i plugins. Na primjer. e-mail: aradovan@tvz. Nakon instalacije potrebno je konfigurirati dodatke. Upute za instaliranje samih dodataka mogu se pronaći na lokacija gdje se i download-aju. Što ti tiče Checkstyle dodatka. Dodatak za AnyEdit dolazi u obliku samo jedne datoteke s imenom de. AnyEdit dodatak koristan je kad se koristi u paru s Checkstyle dodatkom. Nakon što je kopiranje završilo. restart) Eclipse SDK razvojno okruženje i time je proces ugra ivanja dodataka završen. Instalacija navedenih dodataka započinje pronalaženjem web stranica na kojima se oni nalaze. Dodatak samo upozorava programera ukoliko je prekršio neko od pravila pisanja koda. Na dijalogu koji je pojavljuje potrebno je s lijeve strane odabrati opciju Checkstyle. Nakon toga je potrebno pritisnuti tipku Ok (slika 1-9) čime su izabrane konvencije koje je definirao sam Sun. Sadržaj tih mapa (a ne cijele mape) potrebno je kopirati na lokacije “C:\eclipse-SDK\features”.AnyEditTools_1. onda se vrste dodataka moraju razmjestiti na lokacije “C:\eclipse-SDK\features” te “C:\eclipse-SDK\plugins”. te označiti checkbox uz koji stoji tekst Checkstyle active for this project. odnosno “eclipse plugin Anyedit”. odnosno “C:\eclipse-SDK\plugins”.0. o čemu ovisi na koju lokaciju je potrebno kopirati datoteke. Checkstyle dodatak svojim upozorenjima unaprije uje baš taj segment programerskog posla – nasljedivost koda dovodi se do jedne zavidne razine. Na prona enim stranicama potrebno je pronaći download sekciju i spremiti dodatak na lokalno računalo.0-bin.zip (ovisno o samoj inačici dodatka). najbolje je koristiti pretaživač (npr. ali i u konfiguriranju postavki editora za pisanje koda. Checkstyle potiče korisnika da umjesto tabulatora (tipke TAB) koristi razmak za strukturiranje koda.. Kod razvijanja nekog projekta vrlo je bitno da je programski kod vrlo pregledan. dipl.hr . Google) s ključnim riječima “eclipse plugin Checkstyle”. dokumentiran i uredan.

Potvrda aktiviranja Checkstyle dodatka Prethodno importirani projekt Factoriel pisan je u skladu sa svim definiranim konvencijama koje su primijenjene na programski kod. */ public final class Factoriel { /** * Privatni konstruktor..Laboratorijske vježbe iz kolegija “Programiranje u programskoj jeziku Java” 2006/2007 Politehnički specijalistički diplomski stručni studij Tehničko veleučilište u Zagrebu Stranica 8/13 Slika 1-9.java. Konfiguriranje Checkstyle dodatka Nakon aktiviranja Checkstyle dodatka potrebno je pravila zadanih konvencija primijeniti na programski kod. recompile.hr .labosi.prvi.programiranje. dipl. /** * Program racuna faktorijel nekog broja. Potvrdan odgovor pokreće primjenjivanje zadanih konvencija na programski kod. Slika 1-10. e-mail: aradovan@tvz. ing. rebuild) i upozorava korisnika na potrebu obavljanja te akcije (slika 1-10).tvz. */ © Autor: Aleksander Radovan. Eclipse SDK automatski prepoznaje potrebu za rekompajliranje (engl. Cijeli programski kod s detaljnim komentarima je dan u nastavku: package hr.

liniju 40 klase Factoriel potrebno je promijeniti iz © Autor: Aleksander Radovan.1..println(result).Laboratorijske vježbe iz kolegija “Programiranje u programskoj jeziku Java” 2006/2007 Politehnički specijalistički diplomski stručni studij Tehničko veleučilište u Zagrebu Stranica 9/13 private Factoriel() { } /** * Metoda za izracunavanje faktorijela.parseInt(args[0]). //dekrementiranje pomoćne varijable (koja je prije bila x) pom = pom . //računanje faktorijela double result = factoriel(input). * * @param x broj za koji se izracunava faktorijela * * @return izracunata x! faktorijela */ public static double factoriel(final int x) { //provjera neispravnog ulaznog parametra //ukoliko je broj < 0. System. } /** * Glavni metoda za pokretanje programa.out. } } Me utim. } // vraćanje rezultata return fact.hr . ing.prvi argument oznacava broj za koji * je potrebno izracunati faktorijel */ public static void main(final String[] args) { //dohvaćanje ulaznog argumenta za koji je potrebno računati faktorijel int input = Integer.0.0. e-mail: aradovan@tvz. } //početak s inicijalnom vrijednosti double fact = 1. //petlja koja se obavlja sve dok je x > 1 while (pom > 1) { //množenje faktorijela fact = fact * pom. funkcija vraća 0. dipl. //pomoćna varijabla da ne pregazimo vrijednost x int pom = x.0 if (x < 0) { return 0. * * @param args ulazni argumenti . kako bi se demonstriralo kršenje tih konvencija.

hr . Što se tiče dodatka AnyEdit. njega je tako er potrebno aktivirati. te označiti checkbox uz koji stoji tekst Convert tabs <-> spaces (slika 1-12).Laboratorijske vježbe iz kolegija “Programiranje u programskoj jeziku Java” 2006/2007 Politehnički specijalistički diplomski stručni studij Tehničko veleučilište u Zagrebu Stranica 10/13 fact = fact * pom. te varijable “pom”. izbrisati prazno mjesto izme u znaka za operaciju množenja “*”. ing. Nakon toga potrebno je pritisnuti tipku Ok i zadana konverzija je aktivirana. To je moguće učiniti pritiskom desne tipke miša na površini Package explorer pogleda i odabirom opcije Properties. Slika 1-12. u fact = fact *pom.. Na dijalogu koji je pojavljuje potrebno je s lijeve strane odabrati opciju AnyEdit Tools. odnosno. Konfiguriranje AnyEdit dodatka © Autor: Aleksander Radovan. e-mail: aradovan@tvz. Poruka Checkstyle dodatka zbog kršenja konvencija Poruka “'*' is not followed by whitespace. barem što se tiče korisne opcije za pretvaranje tabulatora u prazna mjesta. dipl. Ukoliko se spreme promjene. s lijeve strane u tom retku pojavljuje se oznaka povećala koja ispisuje poruku upozorenja ukoliko se miš pozicionira iznad nje (slika 1-11): Slika 1-11.” govori upravo o tome da nedostaje prazno mjesto koje je obrisano.

Odabir opcije za generiranje Javadoc dokumentacije Nakon pritiska na tipku Next pojavljuje se dijalog kao na slici 1-14. a datoteka koja se pokreće zove se index. Automatizirani proces generiranja moguće je pokrenuti pritiskom desne tipke miša na ime projekta za koji želimo Javadoc te odabirom opcije Export.2.hr .com/. Ukoliko imamo projekt koji je detaljno dokumentiran (kao što je projekt Factoriel koji smo prethodno importirali). Nakon što je generiranje završilo. onda se javadoc. e-mail: aradovan@tvz.exe izvršnog programa koji se nalazi u mapi gdje je instalirano Java okruženje za razvijanje programskog koda (engl. te pritiskom na tipku Finish pokrenuti proces generiranja dokumentacija. Opera.2_07..Generiranje javadoc dokumentacije Eclipse SDK omogućava generiranje Javadoc dokumentacije na krajnje jednostavan način. U Console pogledu tako er je moguće pratiti i proces generiranja Javadoc dokumentacije.->Javadoc (slika 1-13): Slika 1-13. Mozilla Firefox. Ukoliko je to mapa C:\j2sdk1. tj. Još je potrebno zadati samo lokaciju (Destination) gdje će se spremiti Javadoc dokumentacija (u našem slučaju to je “C:\eclipse-SDK\laboratorijskeVjezbe\Factoriel\doc”).3..Laboratorijske vježbe iz kolegija “Programiranje u programskoj jeziku Java” 2006/2007 Politehnički specijalistički diplomski stručni studij Tehničko veleučilište u Zagrebu Stranica 11/13 1.sun. Java Software Development Kit) koje se tako er može download-ati sa web stranica http://java.).4. javadoc. Najprije je potrebno upisati lokaciju programa za generiranje Javadoc dokumentacije (Javadoc command).html i nalazi se na lokaciji koja je specificirana prije početka samog procesa generiranja dokumentacije (“C:\eclipse-SDK\laboratorijskeVjezbe\Factoriel\doc”). Izgled Javadoc dokumentacije u HTML pregledniku prikazan je na slici 1-15. ing. dipl... © Autor: Aleksander Radovan. dokumentacija u HTML formatu može se pregledavati u bilo kojem HTML pregledniku (Internet explorer.exe nalazi u podmapi bin. moguće je generirati Javadoc dokumentaciju..

Za kreiranje konfiguracije za pokretanje potrebno je označiti klasu Factoriel. ing.hr .. pritisnuti desnu tipku miša. e-mail: aradovan@tvz...4. dipl. Nakon toga je na dijalogu za kreiranje konfiguracije za pokretanje (slika 1-16) potrebno s lijeve strane označiti opciju Java application i odabrati opciju za kreiranje nove konfiguracije (ikona kod koje se nalazi tekst Press the 'New' button to create a configuration of the selected type). potrebno je kreirati konfiguraciju za pokretanje (engl.Laboratorijske vježbe iz kolegija “Programiranje u programskoj jeziku Java” 2006/2007 Politehnički specijalistički diplomski stručni studij Tehničko veleučilište u Zagrebu Stranica 12/13 Slika 1-14. Pokretanje aplikacije s ulaznim parametrima Ukoliko želimo pokrenuti Java aplikaciju koja prima ulazne parametre. launch configuration) koja osim pokretanja same aplikacije predaje i ulazne parametre. Nakon kreiranja nove konfiguracije potrebno se prebaciti na konfiguraciju argumenata (Arguments) © Autor: Aleksander Radovan. Generiranje Javadoc dokumentacije Slika 1-15. Izgled Javadoc dokumentacije u HTML pregledniku 1. importirani projekt Factoriel sadrži klasu koja se mora pokrenuti s ulaznim parametrom jer se u suprotnom dogodi pogreška. Na primjer.2. te odabrati Run As>Run.

Kreiranje nove konfiguracije za pokretanje i upisati vrijednost ulaznog parametra. ing.. te pritisnuti tipku Run (slika 1-17) nakon čega se u Console pogledu može vidjeti rezultat izračuna. Postavljanje ulaznih argumenata © Autor: Aleksander Radovan. e-mail: aradovan@tvz. odnosno broja za koji se želi izračunati faktorijel.Laboratorijske vježbe iz kolegija “Programiranje u programskoj jeziku Java” 2006/2007 Politehnički specijalistički diplomski stručni studij Tehničko veleučilište u Zagrebu Stranica 13/13 Slika 1-16. dipl.hr . Slika 1-17.