Download Tutoring System for Distance Learning of Java Programming

Document related concepts
no text concepts found
Transcript
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