From 5cecf742a63598e1107ae576b584d0064786ebbc Mon Sep 17 00:00:00 2001 From: Doni Pracner Date: Thu, 12 Mar 2015 18:13:03 +0100 Subject: [PATCH] dodati primeri programa za rad sa klasama sa teorijskih vezbi --- kodovi/klase/Radnici.java | 101 +++++++++++++++++ kodovi/klase/RadniciSpisak.java | 108 ++++++++++++++++++ kodovi/klase/RadniciSpisakId.java | 180 ++++++++++++++++++++++++++++++ kodovi/klase/radnici.txt | 4 + kodovi/klase/radnici2.txt | 3 + 5 files changed, 396 insertions(+) create mode 100644 kodovi/klase/Radnici.java create mode 100644 kodovi/klase/RadniciSpisak.java create mode 100644 kodovi/klase/RadniciSpisakId.java create mode 100644 kodovi/klase/radnici.txt create mode 100644 kodovi/klase/radnici2.txt 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