gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
372fb7d94a204104e6c5c6ca4606a0821da22130
[spa2-materijali.git] / Hash / Kancelarija.java
1 import org.svetovid.io.SvetovidReader;
3 /**
4 * Koriscenje kancelarija
5 *
6 * Prosiruje InfoTip samo zbog jednostavnosti u TestHash, nema razloga inace.
7 */
8 public class Kancelarija extends InfoTip {
9 private String prezime;
10 private int broj;
12 public Kancelarija(String line) {
13 String[] delovi = line.replaceAll(" ", " ").split(" ");
14 if (delovi.length == 2) {
15 try {
16 prezime = delovi[0];
17 broj = Integer.parseInt(delovi[1]);
18 } catch (Exception ex) {
19 throw new RuntimeException(ex);
20 }
21 } else
22 throw new RuntimeException("Pogresan broj argumenata u redu");
23 }
25 public Kancelarija(String prezime, int broj) {
26 this.prezime = prezime;
27 this.broj = broj;
28 }
30 public Kancelarija() {
31 };
33 public boolean equals(Object o) {
34 // Objekat je identican
35 if (this == o) {
36 return true;
37 }
38 // Null je uvek razlicit
39 if (o == null) {
40 return false;
41 }
42 // Ako su klase razlicite, objekti ne mogu bili jednaki
43 if (getClass() != o.getClass()) {
44 return false;
45 }
47 // pretvaramo objekat u kancelariju
48 Kancelarija k2 = (Kancelarija) o;
49 // poredimo polja
50 if (prezime.equals(k2.prezime) && broj == k2.broj) {
51 return true;
52 }
54 return false;
55 }
57 public int hashCode() {
58 return prezime.hashCode() * broj;
59 }
61 @Override
62 public InfoTip ucitaj(SvetovidReader r) {
63 String prez = r.readToken(); // citamo jednu "rec"
64 int br = r.readInt();
65 InfoTip rez = new Kancelarija(prez, br);
66 return rez;
67 }
68 }
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner