gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Primeri za postfiksni kalkulator
[spa1-materijali.git] / kodovi / klase / RadniciSpisak.java
1 /** Program prosiruje prethodni Radnici koji je radio sa nizom objekata u
2 * klasu koja predstavlja taj spisak i ima metode vezane za njega */
3 public class RadniciSpisak {
4 static SpisakRadnika spisak = null, spisak2 = null;
6 public static void main(String[] args){
7 spisak = new SpisakRadnika();
8 spisak.ucitajRadnike("radnici.txt");
9 spisak.sviUKancelariji(1);
11 spisak2 = new SpisakRadnika();
12 spisak2.ucitajRadnike("radnici2.txt");
13 spisak2.sviUKancelariji(1);
14 }
15 }
17 /** Klasa predstavlja spisak radnika u nekoj firmi. */
18 class SpisakRadnika{
20 /** Klasa predstavlja jednog radnika. Ovde je postavljena kao unutrasnja klasa
21 * u klasi SpisakRadnika, ali mogla je biti postavljena i ispod kao odvojena u istom
22 * fajlu ili cak u sopstvenom fajlu u istom folderu. */
23 class Radnik {
24 String prezime, ime;
25 int id;
26 int kancelarija;
28 // Konstruktor klase - neophodno je proslediti sve podatke odjednom da se napravi instanca
29 public Radnik(int id, String prezime, String ime, int kancelarija) {
30 this.id = id;
31 this.prezime = prezime;
32 this.ime = ime;
33 this.kancelarija = kancelarija;
34 }
36 public String prezimeIme() {
37 return prezime+" "+ime;
38 }
40 public String inicijali() {
41 String p = "";
42 if (prezime != null && !prezime.isEmpty()) {
43 p = prezime.charAt(0)+".";
44 }
45 String i = "";
46 if (ime != null && !ime.isEmpty()) {
47 i = ime.charAt(0)+".";
48 }
49 return i+p;
50 }
52 public String sviPodaci() {
53 return "Radnik "+id+":"+prezime+" "+ime+", kancelarija:"+kancelarija;
54 }
56 // toString metod se koristi kad je potrebno predstaviti instancu kao String,
57 // tipicno pri pozivu ispisa na ekran. Ocekuje se da da kratku informaciju
58 // koja je razumljiva coveku.
59 public String toString() {
60 return prezime+" "+ime;
61 }
63 } // klasa Radnik
65 final static int MAX_RADNIKA = 100;
67 Radnik[] spisak;
68 int brojac;
70 /** Kreira novu instancu klase i inicijalizuje niz i brojac na adekvatne vrednosti. */
71 public SpisakRadnika() {
72 spisak = new Radnik[MAX_RADNIKA];
73 brojac = 0;
74 }
76 /** ucitava radnike iz datog fajla i dodaje u trenutni spisak. */
77 public void ucitajRadnike(String imef){
78 while (!Svetovid.in(imef).isEmpty() && brojac < MAX_RADNIKA) {
79 int id = Svetovid.in(imef).readInt();
80 String prezime = Svetovid.in(imef).readString();
81 String ime = Svetovid.in(imef).readString();
82 int kanc = Svetovid.in(imef).readInt();
83 spisak[brojac] = new Radnik(id, prezime, ime, kanc);
84 brojac++;
85 }
87 if (!Svetovid.in(imef).isEmpty()){
88 Svetovid.out.println("Previse radnika u fajlu! Ucitano prvih "+MAX_RADNIKA);
89 }
91 // zatvaramo fajl jer smo ga celog procitali
92 // i oslobodjamo resurs
93 Svetovid.in(imef).close();
94 }
96 public int brRadnika() {
97 return brojac;
98 }
100 public void sviUKancelariji(int kanc){
101 for (int i=0;i<brojac;i++) {
102 if (spisak[i].kancelarija == kanc) {
103 Svetovid.out.println(spisak[i]);
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner