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