Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Petak: I čas: 17:40 – 18:25 II čas: 18:35 - 19:20 III čas: 19:30 – 20:15 Primena integrisanih razvojnih alata Dejan Sredojević Primena integrisanih razvojnih alata Fond časova: 3+3 Izrada projekta Broj ESPB: 7 Ocena znanja (max. broj poena je 100) Minimum bodova za prolaz: 35+15 Predispitne obaveze 70 poena Prisustvo na predavanjima i vežbama 5 Provera znanja u toku nastave 20 Ostale aktivnosti i učešće studenata u radu na predavanjima i vežbama 35 Praktičan rad 10 Završni ispit 30 poena Pismeni ispit 30 Aktivnost na času 2 Literatura Materijal sa predavanja i vežbi za predmet Primenjeno programiranje na sajtu Škole Lemay L., Cadenhead R., Java Naučite za 21 dan, Kompjuter, biblioteka Eckel B., Mislite na Javi, Mikro knjiga Dokumentacija sa sajta http://www.netbeans.org/ 3 Tehnologije Programski jezik: Java Razvojni alat: NetBeans 6.5 Sistem za upravljanje bazama podataka: MySql 5.0 4 Programski jezik Java U jesen 1995. godine Sun Microsystems prvi put je predstavio programski jezik Java Java je objektno-orijentisani, nezavistan od platforme (mogućnost programa da se izvršava bez modifikacija u okviru različitih radnih okruženja) Nekoliko popularnih razvojnih okruženja: JBuilder, Eclipse, NetBeans 5 Programski jezik Java Opšta sintaksa samostalne aplikacije u Javi: class <classname> { public static void main(String args[]){ izrazi; ————————; ————————; } } 6 Primer Java programa Program koji ispisuje “Hello World” class HelloWorldApp { public static void main(String[] args) { // ispis stringa. System.out.println("Hello World!"); } } 7 Osnovni elementi Osnovni elementi Jave pomoću kojih se komponuju složenije konstrukcije jezika: Identifikatori Literali Specijalni simboli Rezervisane reči 8 Identifikatori Koriste se za označavanje različitih konstrukcija programa: promenjivih, metoda, klasa, interfejsa, metoda,... Niz slova i/ili cifara koji počinje slovom i razlikuje se od svake rezervisane reči Slova su sva slova, “$” i “_” Cifre su 0,1,2,...,9 Primeri: ime_i_prezime, temp, var2sp, upisiBroj 9 Literali Literale u Javi čine: Brojevi 234 3.14 4.0E-74 znakovne konstante ‘h’ stringovske konstante “Novi Sad” logičke konstante true i false konstanta null 10 Specijalni simboli > veće | disjunkcija i disjunkcija nad bitovima < manje ^ eksluzivna disjunkcija ! negacija % ostatak pri deljenju ~ negacija nad bitovima << pomeranje bitova u levo ? uslovni operator >> pomeranje bitova u desno == jednako >>> pomeranje bitova u desno <= manje ili jednako = operator dodele >= veće ili jednako += dodela sa prethodnim sabiranjem != nejednako -= dodela sa prethodnim oduzimanjem && uslovna konjukcija *= dodela sa prethodnim množenjem || uslovna disjunkcija /= dodela sa prethodnim deljenjem ++ povećanje vrednosti za jedan &= dodela sa prethodnom primenom & -- smanjenje vrednosti za jedan |= dodela sa prethodnom primenom | + sabiranje ili predznak ^= dodela sa prethodnom primenom ^ - oduzimanje ili predznak %= dodela sa prethodnom primenom % * množenje <<= dodela sa prethodnom primenom << / deljenje >>= dodela sa prethodnom primenom 11 >> & konjunkcija i konjunkcija nad bitovima >>>= dodela sa prethodnom primenom >>> Rezervisane reči Koriste se za opis naredbi programa i imaju tačno određeno značenje abstract default if package this boolean do implements private throw break double import protected throws byte else instanceof public transient case extends int return null try const for new switch strictfp continue while goto synchronized super catch final interface short void char finally long static volatile class float native assert 12 Pravila imenovanja: Nazivi promenjivih: sadrže slova, brojeve, ‘$’ (simbolom dolara), ili ‘_’ (donjom crtom); ne smeju početi sa cifrom Nazivi metoda: glagoli zapisani sa malim početnim slovom, svaka naredna reč naziva se piše velikim početnim slovom Primer: promeniBojuOkvira() Nazivi klasa i interfejsa: Opisni nazivi sa velikim početnim slovom Nazivi konstanti: Velikim slovim Primer: Font.BOLD, Font.ITALIC 13 Komentari Delovi programa koji ne utiču na smisao i suštinu programa i zenemaruju se prilikom prevođenja Simboli Upotreba // Od simbola do kraja reda pretvara u komentar /* ————— */ komentar na proizvoljnom mestu u kodu /** —————*/ Komentar za automatsko generisanje dokumentacije programa 14 Prosti tipovi podataka Celobrojni Realni brojevi float double Znakovni int short long byte char Logički boolean 15 Prosti tipovi podataka Prosti tip Veličina Minimum Maximum boolean — — — char 16-bit Unicode 0 Unicode 216- 1 byte 8-bit -128 +127 short 16-bit -215 +215—1 int 32-bit - 231 +231—1 long 64-bit -263 +263—1 float 32-bit IEEE754 IEEE754 double 64-bit IEEE754 IEEE754 — — — void 16 Deklaracija promenjivih Deklaracija promenjivih: <tip podataka> <naziv promenjive> Primer: int num1; Inicijalizacija promenjivih: < tip podataka > < naziv promenjive > = vrednost Primer: double num2 = 3.1419; float initVal; int pom, index = 2; double gamma = 1.2, brightness; boolean valueOk = false; 17 Deklaracija promenjivih int index = 2; double fiveFourths = 5 / 4; naziv tipa naziv promenjive vrednost Boolean prekinut = false; 18 Deklaracija promenjivih int index = 1.2; // boolean retOk = 1; // double fiveFourths = 5 / 4; // float ratio = 5.8f; // double fiveFourths = 5.0 / 4.0; greška greška nema greške ispravno // ispravno 1.2f predstavlja float vrednost sa tačnošću od 7 decimala 1.2 predstavlja double vrednost sa tačnošću od 15 decimala 19 Razlika između i++ i ++i class PrePostDemo { public static void main(String[] args){ int i = 3; i++; System.out.println(i); // "4" ++i; System.out.println(i); // "5" System.out.println(++i); // "6" System.out.println(i++); // "6" System.out.println(i); // "7" } } 20 Naredba dodele int x = 5; int y = 2; int z = 4; z = z/y; x = x*y + z; y = x*(y + z); System.out.println(z); System.out.println(x); System.out.println(y); 21 Naredba dodele public class Demo { public static void main (String[] arg) { boolean b; b = (2 + 2 == 4); System.out.println(b); } } 22 Primer programa import java.util.*; public class HelloDate { public static void main(String[] args) { System.out.println(“Pozdrav, sad je: "); System.out.println(new Date()); } } 23 Izrazi & Blokovi Izraz je komanda koja se završava sa “;”: ime = “Fred”; Blok je niz izraza koji se nalaze između vitičastih zagrada: { ime1 = “Fred”; ime2 = “Rale”; } Blokovi mogu sadržati druge blokove 24 Primer 2 import java.util.Scanner; // programu je potrebna Scanner klasa public class AddTwoInts { public static void main(String[] args) { int prviBroj; int drugiBroj; int suma; Scanner consoleIn; consoleIn = new Scanner( System.in ); System.out.print(“Unesite prvi broj: "); prviBroj = consoleIn.nextInt(); System.out.print(“Unesite drugi broj: "); drugiBroj = consoleIn.nextInt(); sum = prviBroj + drugiBroj; System.out.println(“Zbir je: " + suma); } } 25 2. čas Grananje, petlje Kontrola toka programa Java izvršava izraz za izrazom u redu u kojem su zapisani Postoji više Java naredbi koje služe sa kontrolu toka programa: Naredbe grananja: if, if else, switch Petlje: for, while, do while Naredbe prekida: break, continue, return 27 Kontrola toka programa Kontrola toka programa: if – else switch – case return while do – while for break continue • Naredbe: try – catch – finally throw 28 If – naredba grananja if naredba utvrđuje istinitost izraza u zagradi i ako je tačna izvršavaju se zadate akcije if ( x < 10 ) x = 10; Ako je vrednost promenjive x manja od deset tada se promenjivoj dodeljuje vrednost 10 Moguće je zapisati i: if ( x < 10 ) x = 10; Ili: if ( x < 10 ) { x = 10; } 29 Relacioni operatori == != >= <= > < jednakost nejednakost veće ili jednako manje ili jednako veće manje 30 If naredba If...else izraz sintaksa: if(uslov){ izrazi; } else{ izrazi; } 31 if… else if … else izraz ispituje tačnost izraza. Izvršava se jedan niz naredbi ako je vrednost true ili drugi niz naredbi ako je vrednost false. if (x != oldx) { System.out.print(“x je promenjena”); } else { System.out.print(“x nije promenjena”); } 32 Ugnježdeni if … else if ( myVal > 100 ) { if ( remainderOn == true) { myVal = mVal % 100; } else { myVal = myVal / 100.0; } }else{ System.out.print(“myVal is in range”); } 33 else if Koristan za izbor između više mogućnosti: if ( n == 1 ) { // izvršavanje prvog bloka naredbi } else if ( j == 2 ) { // izvršavanje drugog bloka naredbi } else { //ako ni jedan od predhodnih uslova nije //zadovoljen vrši se izvršavanje trećeg //bloka naredbi } 34 Upozorenje… Neispravno! if( i == j ) if ( j == k ) System.out.print(“i je jednako k”); else System.out.print( “i nije jednako j”); Ispravno! if( i == j ) { if ( j == k ) System.out.print(“i jednako k”); } else{ System.out.print(“i nije jednako j”); } 35 Primer if naredbe if (prodaja > 75000){ bonus = 1000; System.out.println(“Bonus iznosi $1000"); } System.out.println(“cilj za naredni mesec iznosi: $75000"); 36 Primer 2 if naredbe int x = 5; int y = 7; if (x > y){ System.out.println(x + " je veci od " + y); }else{ System.out.println(x + " nije veci od " + y); } 37 Primer 3 if naredbe double vrednostProdaje = 0.0; int brojProdaja = 0; if (vrednostProdaje >= 85000 || brojProdaja > 10){ System.out.println(“Vas bonus je: $2,000."); } if ( brGodina < 19 && ocena >= 3.0 ){ System.out.println(“primljeni ste"); } 38 Primer 4 if naredbe if( grade > 90 ){ System.out.println(“Odlicno!"); }else if( grade > 60 ){ System.out.println(“Vrlo dobro!"); }else{ System.out.println(“Zao nam je, pali ste"); } 39 switch naredba Sintaksa switch naredbe: switch(promenjiva){ // promenjiva ima celobrojnu ili logicku //vrednost case(vrednost1): izrazi; break; case(vrednost2): izrazi; break; ... default: izrazi; break; } 40 switch naredba switch ( n ) { case 1: // izvršavanje prvog bloka naredbi break; case 2: // izvršavanje drugog bloka naredbi break; default: // ako ni jedan od predhodnih uslova //nije zadovoljen vrši se izvršavanje //trećeg bloka naredbi break; } 41 for petlja Sintaksa for petlje: for(inicijalizacija; uslov; inkrement){ izrazi; } 42 for petlja Izvršavanje n puta for ( i = 0; i < n; i++ ) { // ovaj deo petlje će se izvršiti n puta // i ide od 0 do n-1 } Ugnježdeni for: for ( j = 0; j < 10; j++ ) { for ( i = 0; i < 20; i++ ){ // ovaj deo petlje će se izvršiti 200 puta } } 43 Primer 1. for petlja int i; for( i = 0; i < 10; i++ ){ System.out.println(i); } 44 Primer 2 for petlja Napisati program u koji ispisuje sve parne brojeve od 1 do 30 public class parniDo30{ public static void main(String[] args){ System.out.println("parni od 1 do 30 su:"); for (int i = 2 ; i <= 30 ; i += 2){ System.out.println(i); } } } 45 while petlja Sintaksa while petlje while(uslov){ izrazi; } 46 Primer while naredbe int x = 0; while (x<10) { System.out.println(x); x++; } 47 do while petlja Sintaksa do...while petlje do{ izrazi; }while(uslov); Primer: int x = 1; do { System.out.println(x); x++; }while (x<10); 48 break naredba break naredba izvršava bezuslovni izlazak iz while, do, for ili switch petlje for ( int i = 0; i < maxID, i++ ) { if ( userID[i] == targetID ) { index = i; break; } } // program jumps here after break 49 Primer while naredbe Fibonacci: class Fibonacci { public static void main(String[] arg) { int lo = 1; int hi = 1; System.out.println(lo); while (hi < 50) { System.out.println(hi); hi = lo + hi; lo = hi – lo; } } } 50 Treći čas Metodi i nizovi Primer switch class SwitchDemo { public static void main(String[] args) { int month = 8; switch (month) { case 1: System.out.println("January"); break; case 2: System.out.println("February"); break; case 3: System.out.println("March"); break; case 4: System.out.println("April"); break; case 5: System.out.println("May"); break; case 6: System.out.println("June"); break; case 7: System.out.println("July"); break; case 8: System.out.println("August"); break; case 9: System.out.println("September"); break; case 10: System.out.println("October"); break; case 11: System.out.println("November"); break; case 12: System.out.println("December"); break; default: System.out.println("Invalid month."); } } } 52 Primer while class WhileDemo { public static void main(String[] args){ int count = 1; while (count < 11) { System.out.println(count); count++; } } } 53 Primer do while class DoWhileDemo { public static void main(String[] args){ int count = 1; do { System.out.println(count); count++; } while (count <= 11); } } 54 Primer for class ForDemo { public static void main(String[] args){ for(int i=1; i<11; i++){ System.out.println(i); } } } 1 2 3 4 5 6 7 8 9 10 55 Metodi Metod predstavlja imenovani segment koda koji se može pokrenuti u drugom delu koda. Metod preuzima neke parametre, izvršava neka izračunavanja ili akcije i opciono vraća neku povratnu vrednost Pozivi metoda se mogu koristiti kao deo izraza public float convertCelsius(float tempC) { return( ((tempC * 9.0f) / 5.0f) + 32.0 ); } 56 Metodi Deklaracija metoda: <kvantifikator pristupa> <static/final> <povratni tip> <naziv metoda> <lista argumenata> { telo metoda; } Primer: public static void main(String args[]){ //telo metoda } 57 Obavezni delovi metode Jedini obavezni delovi deklaracije metoda su: Povratni tip Naziv metode Par običnih zagrada Telo metode oukvireno vitičastim zagradama primer: void prikazi (){ } 58 Svih šest komponenata: Modifikatori - public, private Povratni tip – tip vrednosti koju metod vraća kao svoj rezultat ili void ako ne vraća nikakvu vrednost Naziv metoda – koje će jasno objasniti funkciju metoda Lista parametara u običnim zagradama, razdvojenih zarezom, predsavljenih tipom i imenom. Ako metod nema parametara ostavljaju se prazne zagrade Lista izuzetaka Telo metode, ograničeno vitičastim zagradama. Sadrži kod metoda zajedno sa deklaracijom lokalnih promenjivih 59 Zaglavlje metoda Zaglavlje metoda sadrži: Naziv metoda. Tip i naziv svakog argumenta. Tip promenjive (ili objekta) koju metod vraća kao povratnu vrednost. Izuzetke koje metod obrađuje. Modifikatore za određivanje vidljivosti metoda. public float convertCelsius (float tCelsius ) {} public boolean postavi(int i, int j, String name) throws IndexOutOfBoundsException {} 60 Public/private Metode možemo deklarisati kao public ili private u zavisnosti da li želimo da omogućimo njihovo pozivanje u drugim klasama. Preporuka je: Da su podaci privatni Da su metode privatne Dobro definisana komunikacija između klasa pomaže da se eliminišu greške 61 Definisanje metoda Svaki se metod definiše unutar definicije klase: public class Film { public static int ocenaFilma(int s, int g, int r) { return s+g+r; } } public class Demo { public static void main (String argv[]) { int scenario = 6, gluma = 9, rezija = 8; prikaziOcenu(scenario, gluma, rezija); } public static void prikaziOcenu(int s, int g, int r){ System.out.print(“Ocena filma je: ”); System.out.println(Film.ocenaFilma(s, g, r)); } } 62 Primer klase i metoda Class voce{ int grami; int kalorijePoGramu; int ukupnoKalorija() { return(grami* kalorijePoGramu); } } 63 Primer 2 class Bicikl { int godiste = 0; int brzina = 0; int stepenPrenosa = 1; void postaviGodiste(int novaVrednost) { godiste = novaVrednost; } void promenaStepenaprenosa(int novaVrednost) { stepenPrenosa = novaVrednost; } void povecajBrzinu(int increment) { brzina = brzina + increment; } void smanjiBrzinu(int decrement) { brzina = brzina - decrement; } void stampajStanja() { System.out.println("godiste: "+godiste); System.out.println("brzina je: "+brzina); System.out.println("stepen prenosa je: "+StepenPrenosa); } } 64 Primer 3. // definicija metoda public int mult(int x, int y) { return x * y; } // deo koda sa pozivom metoda int duzina = 10; int sirina = 5; int area = mult(duzina, sirina); 65 Primer 5. public int stepen(int a, int b){ int i; int total = 1; for(i = 0; i < b; i++) total = total * a; return total; } int number = 2; int exponent = 4; number = stepen(number, exponent); System.out.println(“nova vrednost je " + number); 66 Primer 6. public class calculation{ int first, answer; public void paint (){ first = 34; calculation(); } public void calculation (){ answer = first * 2; } } 67 Primer 7. public class Area{ public static void main(String[] args){ int duzina = 10; int sirina = 5; // poziv metoda int povrsina = izracunajPovrsinu(); System.out.println(povrsina); } public int izracunajPovrsinu(){ int p = duzina * sirina; return p; } } } 68 Zadatak Dat je metod: public int tryPrimitives(int x, int y) { x = x + 10; y = y + 10; return x; } Koje su vrednosti promenjivih of p, q i r nakon izvođenja narednog koda? int p = 1; int q = 2; int r = 5; r = tryPrimitives(p, q); 1,2,11 69 Nizovi - array Niz je lista sličnih elemenata Niz ima fiksirani: naziv tip dužinu Ove tri stvari se deklarišu prilikom kreiranja niza Veličina nizova se ne može menjati tokom izvođenja koda 70 Nizovi mojNiz = 3 6 3 1 6 3 4 1 0 1 2 3 4 5 6 7 mojNiz ima mesta za 8 elemenata Elementima se pristupa uz pomoć indeksa niza U Javi, prvi element niza je na nultoj poziciji 71 Deklaracija nizova int mojNiz[]; Deklaracija niza: mojNiz kao niza celih brojeva mojNiz = new int[8]; Rezerviše u memoriji 8 mesta za cele brojeve kojima pristupamo sa: mojNiz[0] do mojNiz[7] Moguće je i kombinovati prethodna dva izraza u jednom: int mojNiz[] = new int[8]; 72 Dodeljivanje vrednosti Pristupamo elementima niza uz pomoć indeksa da bi im dodelili vrednosti: mojNiz[0] = 3; mojNiz[1] = 6; mojNiz[2] = 3; ... Moguće je kreirati niz i stovremeno mu dodeliti vrednosti: int mojNiz [] = {3, 6, 3, 1, 6, 3, 4, 1}; 73 Iteracije kroz nizove for petlja je korisna pri radu sa nizovima: for (int i = 0; i < mojNiz.length; i++) { mojNiz [i] = getsomevalue(); } 74 Primer niza class ArrayDemo { public static void main(String[] args) { int[] niz; // deklarise niz integera niz = new int[10]; // zauzima memoriju duzine 10 niz[0] = 100; … niz[9] = 1000; System.out.println("Nulti element niza je: " + niz[0]); System.out.println("1. element niza je: " + niz[1]); System.out.println("2. element niza je: " + niz[2]); System.out.println("3. element niza je: " + niz[3]); System.out.println("4. element niza je: " + niz[4]); System.out.println("5. element niza je: " + niz[6]); System.out.println("6. element niza je: " + niz[7]); System.out.println("7. element niza je: " + niz[8]); System.out.println("8. element niza je: " + niz[9]); System.out.println("5. element niza je: " + niz[5]); } } 75 Nizovi objekata Elementi nizova ne moraju biti samo prosti tipovi Integer, double, float, char Moguće je definisati i nizove objekata: studenata, knjiga, iznajmljivanja Potrebno je uraditi tri koraka 76 Definisanje nizova objekata 1. Deklarisanje nizova private Student listaStudenata[]; Ovim se definiše se lista studenata 2 .Kreira se niz: listaStudenata = new Student[10]; Ovim se obezbeđuje 10 mesta u memoriji koji će čuvati reference ka objektima tipa Student 3. Kreiraju se objekti klase Student i dodele se nizu: listaStudenata[0] = new Student(“Maja", “Perić"); 77 Dodatak NetBeans IDE 6.5 Kreiranje novog projekta Pokrenite NetBeans IDE 6.5. Odaberite opciju File > New Project kao na slici 1. Slika 1. Kreiranje novog projekta 79 Kreiranje aplikacije U dijalogu New Project wizard, otvorite kategoriju Java i odaberite Java Application i pritisnite Next Slika 2. Kreiranje aplikacije 80 Kreiranje aplikacije Na stranici Name and Location uradite kao na slici: 1. 2. 3. U polje Project Name unesite HelloWorldApp. Ostavite Use Dedicated Folder for Storing Libraries checkbox neselektovan. U polje Create Main Class unesite helloworldapp.HelloWorldApp. 4. 5. Selektujte Set as Main Project. Kliknite Finish 81 Kreiranje aplikacije Slika3. Kreiranje klase 82 Kreiranje aplikacije Nakon toga projekat je kreiran i otvoren. Prozor NetBens IDE bi trebao da prikazuje sledeće komponente: Listu projekata u prozoru Projects, koji sadrži stablo svih komponenti projekta, kao što su fajlovi sa kodom, biblioteke koje se koriste… Editor koda - Source Editor sa otvorenim fajlom pod nazivom HelloWorldApp. Prozor za navigaciju - Navigator, za brzu navigaciju između elemenata selektovane klase Lista sa rezultatima - Tasks, koji lista greške prilikom kompajliranja i druge komentare. (ako se prikazuje moguće je odabrati sa Window>Tasks) 83 Kreiranje aplikacije 84 Pošto smo čekirali prethodno opciju Create Main Class, IDE je kreirao main klasu umesto nas. Na mesto komenatara: // TODO code application logic here Moguće je uneti proizvoljan kod, na primer: System.out.println("Hello World!"); Izmene se čuvaju sa opcijom File > Save. IDE ima opciju: Compile on Save, te nije potrebno izričito kompajlirati projekat da bi se pokrenuo. Za pokretanje programa treba odabrati opciju: Run > Run Main Project (F6). Ako program ne sadrži greške rezultat izvođenja ovog programa se prikazuje: 85 Zadaci Zadatak 1. Napisati program koji ispisuje pozdravnu poruku na sistemski izlaz public class HelloWorldApp { public static void main(String[] args) { // ispis stringa. System.out.println("Hello World!"); } } Zadatak 2. Napisati program koji ispisuje sve parne brojeve od 1 do 30 public class parniDo30{ public static void main(String[] args){ System.out.println("parni brojevi od 1 do 30: "); for (int i=2; i<=30; i+=2){ System.out.println(i); } } } 86 Čitanje podataka sa konzole Jednostavno čitanje podataka sa konzole može se obaviti korišćenjem klase Scanner Konstruktor klase Scanner koji se koristi u ovu svrhu ima opšti oblik: Scanner(InputStream is) Kojim se pravi objekat tipa Scanner koji tok is koristi kao izvor podataka. Sledeći iskaz pravi objekat tipa Scanner koji podatke čita sa standardnog ulaza, što je podrazumevano tastatura: Scanner consoleIn = new Scanner(System.in); Napomena: System.in je objekat tipa InputStream. 87 Primer import java.util.*; class UnosBroja{ public static void main(String args[]){ Scanner konzUlaz=new Scanner(System.in); int broj=0; System.out.println("Unesite broj: "); broj = konzUlaz.nextInt(); System.out.println(“Unet je broj: "+ broj); } } 88 Zadaci Zadatak 3. Napisati program koji izračunava zbir dva broja koje unosi korisnik 89 Zadaci public class Zbir{ public static void main (String[] args) { int br1, br2, suma; Scanner consoleIn = new Scanner(System.in); System.out.println("Unesite prvi broj: " ); br1 = consoleIn.nextInt(); System.out.println("Unesite drugi broj: " ); br2 = consoleIn.nextInt(); suma = br1+br2; System.out.println("Zbir je: " +suma); } } 90 Zadaci Zadatak 4. Napisati program koji izračunava obim ipovršinu kruga pri čemu korisnik unosi poluprečnik kruga 91 import java.util.Scanner; public class Krug { public static void main (String[] vpar) { double poluprecnik; double obim, povrsina; Scanner consoleIn; consoleIn = new Scanner( System.in ); System.out.print("Unesite poluprecnik kruga: "); poluprecnik = consoleIn.nextDouble(); povrsina = poluprecnik * poluprecnik * Math.PI; obim = 2 * poluprecnik * Math.PI; System.out.println ("Obim kruga iznosi: " + obim); System.out.println("Povrsina kruga iznosi: " + povrsina); } } 92 Zadaci if Napisati program koji traži od korisnika da unese iznos svoje mesečne plate. Ako je plata veća od 75000, program treba da ispiše poruku o bonusu u iznosu od 1000 dinara. Ako je plata manja od 75000, program treba da ispiše poruku o bonusu od 2000 dinara Napisati program koji traži od korisnika da unese dva broja i kao rezultat ispisuje manji od ta dva. Napisati program koji traži od korisnika da unese ime i godine starosti deteta kao i rezultat testa. Ako je ili broj godina veće od šest ili rezultat testa veći ili jednak od 85, program treba da ispiše poruku da je dete spremno za prvi razred. Inače, treba ispisati poruku da dete treba da pokusa naredne godine 93 Zadaci Switch Napisati program koji od korisnika traži unos dva realna broja a zatim obavlja operaciju u zavisnosti od izbora korisnika. Od korisnika se traži izbor jedne od narednih opcija: zbir, razlika, proizvod, količnik. Pomoć: od korisnika se traži unos broja: 1 za zbir, 2 za razliku, 3 za proizvod, 4 za količnik. Potrebno je koristiti promenjivu tipa int koja će primiti odgovarajuću vrednost Napisati program koji učitava godinu studija studenta u obliku celog broja i zatim štampa da li je student brucoš, student druge godine, student treće godine ili apsolvent u zavisnosti da li je unet broj 1, 2, 3 ili 4. ponuditi rešenje uz pomoć if naredbe kao i uz switch. 94