From: Doni Pracner Date: Thu, 12 Mar 2015 17:13:03 +0000 (+0100) Subject: dodati primeri programa za rad sa klasama sa teorijskih vezbi X-Git-Url: https://svarog.pmf.uns.ac.rs/gitweb/?a=commitdiff_plain;h=5cecf742a63598e1107ae576b584d0064786ebbc;p=spa1-materijali.git dodati primeri programa za rad sa klasama sa teorijskih vezbi --- diff --git a/kodovi/klase/Radnici.java b/kodovi/klase/Radnici.java new file mode 100644 index 0000000..e04b541 --- /dev/null +++ b/kodovi/klase/Radnici.java @@ -0,0 +1,101 @@ +/** + * Program koji radi sa spiskom radnika, predstavljenim kao niz Objekata tipa Radnik. Klasa Radnika je definisana + * u klasi ispod. U programu ne znamo koliko ima radnika u fajlu, pa predpostavljamo da nece biti vise od 100. + */ +public class Radnici { + final static int MAX_RADNIKA = 100; + + static Radnik[] spisak = null; + // brojac predstavlja koliko radnika zapravo ima u nizu + static int brojac = 0; + + /** Ucitava radnike iz datog fajla. Niz radnika ce nakon ovog metoda sadrzati + * sve podatke iz fajla i samo njih, tj ako je nesto postojalo u nizu pre, + * bice zanemareno. + */ + public static void ucitajRadnike(String imef){ + // novi niz radnika + spisak = new Radnik[MAX_RADNIKA]; + // resetujemo brojac + brojac = 0; + + //citamo iz fajla dokle god ima jos redova i dok ne premasimo + // kapacitet naseg niza + while (!Svetovid.in(imef).isEmpty() && brojac < MAX_RADNIKA) { + int id = Svetovid.in(imef).readInt(); + String prezime = Svetovid.in(imef).readString(); + String ime = Svetovid.in(imef).readString(); + int kanc = Svetovid.in(imef).readInt(); + + spisak[brojac] = new Radnik(id, prezime, ime, kanc); + brojac++; + } + + // ako ima jos redova, znaci da smo prestali zbog punog niza + if (!Svetovid.in(imef).isEmpty()){ + Svetovid.err.println("Previse radnika u fajlu! Ucitano prvih "+MAX_RADNIKA); + } + + // zatvaramo fajl jer smo ga celog procitali + // i oslobodjamo resurs + Svetovid.in(imef).close(); + } + + public static void sviUKancelariji(int kanc){ + for (int i=0;i= MAX_RADNIKA) { + Svetovid.err.println("Greska! vec ima "+MAX_RADNIKA+" novi se ne mogu dodati"); + } + + //proverimo jel vec postoji neko sa tim id-om + boolean postoji = false; + for (int i=0;i0) { + res += spisak[0]; + } + for (int i=1;i