You are on page 1of 13

PRIMER JAVA PROGRAMA

IZRAČUNAVANJA GODINA
STAROSTI NA OSNOVU
JMBG-A

jun  Miodrag Krstić


2017  Slobodan Vukovljak
Šta radi?
 Na osnovu unetog JMBG-a sa tastature
 Program vraća sledeće podatke:

 3101001730035
 Rođeni ste dana: 31.1.2001

 Današnji datum je: 18.6.2017

 Vi imate ukupno: 16 godina, 4 meseci i 17 dana.

 Hvala!
Šta smo uključili?

 Scanner je javna klasa koja se koristi za unos


podataka sa tastature
 Date je javna klasa koja se koristi za rad sa
datumima (Sun Jun 18 09:08:06 CEST 2017)
 DateFormat je javna klasa koja se koristi za izmenu
formata datuma (6/18/17 9:08 AM)
Izuzeća i opseg JMBG-a
 Sa try catch blokom hvatamo izuzetke pri
nepravilnom unosu broja a istovremeno zadajemo
opseg mogućih brojeva
 U našem primeru smo uključili i osobe rođene od
19xx godina pa na dalje
Upozorenje neispravnog JMBG-a

 Ako nije dobro unet JMBG program ispisuje upozorenje na


neispravan JMBG.
Pretvaranje teksta u cele brojeve
 Klasom substring delimo uneti JMBG u delove
teksta koje proveravamo
 Klasom parseInt pretvaramo te delove u brojeve
Dani, meseci, godine iz JMBG
 Za dane izdvajamo prve dve cifre JMBG-a
 Za mesece naredne dve cifre
 Za godine prvo izdvojimo od 4. do 6. cifre
 Posebno izdvajamo 4. cifru da bismo vršili proveru
da li je osoba rođena 19xx i 20xx i shodno tome
dodajemo 1000 ili 2000 da bi dobili godinu
rođenja
Provera ispravnosti meseca
 Upotrebom case switch funkcije vršimo proveru broja dana u
mesecu.
 Izdvajamo slučajeve kada mesec ima 31 dan
 Kada mesec ima 30 dana i kada ima 28 dana
 U bilo kom drugom slučaju izlazi greška „neispravan mesec“,
dakle nismo uključili osobe rođene 29. februara
Rad sa datumima
 Nakon svih provera ispisujemo datum rođenja
 A zatim:
 ispisujemo današnji datum
 Formatiramo ga u SHORT date formatu koji ispisuje
brojeve za dane, mesece, godine... međutim
 Problem: 6/18/17 9:08 AM

 Rešenje: podela stringa na osnovu separatora


Podela stringa
 Podelom stringa na osnovu „/“ dobili smo dane i
mesece, međutim...
 Deo stringa u kojem su godine vuče sa sobom i
trenutno vreme (17 10:04 AM)
 Podela stringa na osnovu “ “ da bismo dobili
zadnje dve cifre godine kao tekst koji pretvaramo
u broj i dodajemo 2000
 Na ekranu ispisujemo datum rođenja i današnji
datum kao brojeve odvojene tačkama
Podela stringa
 Podela stringa na osnovu „/“ i „ „
 I ispisivanje današnjeg datuma
Izračunavanje starosti
 Konačno na osnovu ova dva datuma izračunavamo
starost osobe u danima, mesecima i godinama
Hvala na pažnji

You might also like