Commit | Line | Data |
---|---|---|
7824a618 H |
1 | /* |
2 | * To change this template, choose Tools | Templates | |
3 | * and open the template in the editor. | |
4 | */ | |
5 | package cviceni_12; | |
6 | ||
7 | /** | |
8 | * | |
9 | * @author hapallen | |
10 | */ | |
11 | public class Fronta { | |
12 | ||
13 | /** | |
14 | * | |
15 | */ | |
16 | private Prvek hlava; | |
17 | private Prvek konec; | |
18 | ||
19 | /** | |
20 | * @param args the command line arguments | |
21 | */ | |
22 | public static void main(String[] args) { | |
23 | Fronta f = new Fronta(); | |
24 | Zakaznik z1 = new Zakaznik("Ales", "A", 2); | |
25 | f.pridejPrvekNaKonec(new Prvek(z1)); | |
26 | System.out.println(f); | |
27 | Zakaznik z2 = new Zakaznik("Beda", "B", 3); | |
28 | Zakaznik z3 = new Zakaznik("Cenek", "C", 4); | |
29 | f.pridejPrvekNaKonec(new Prvek(z2)); | |
30 | System.out.println(f); | |
31 | f.pridejPrvekNaKonec(new Prvek(z3)); | |
32 | System.out.println(f); | |
33 | Prvek p = f.odeberPrvekZeZacatku(); | |
34 | System.out.println(p.getZakaznik()); | |
35 | System.out.println(f); | |
36 | } | |
37 | ||
38 | /** | |
39 | * prida na konec fronty zakaznika | |
40 | * @param p prvek, ktery pridavam | |
41 | */ | |
42 | public void pridejPrvekNaKonec(Prvek p) { | |
43 | if (hlava == null) { | |
44 | hlava = p; | |
45 | } else { | |
46 | p.setPredchozi(konec); | |
47 | konec.setDalsi(p); | |
48 | } | |
49 | konec = p; | |
50 | } | |
51 | ||
52 | /** | |
53 | * odebere ze zacatku fronty zakaznika | |
54 | * @return | |
55 | */ | |
56 | public Prvek odeberPrvekZeZacatku() { | |
57 | Prvek p = null; | |
58 | p = hlava; | |
59 | if (hlava != null) { | |
60 | hlava.getDalsi().setPredchozi(null); | |
61 | hlava = hlava.getDalsi(); | |
62 | p.setDalsi(null); | |
63 | } | |
64 | return p; | |
65 | } | |
66 | ||
67 | /** | |
68 | * vypise seznam zakazniku ve fronte | |
69 | * @return | |
70 | */ | |
71 | public String toString(){ | |
72 | String s = ""; | |
73 | Prvek aktualni = hlava; | |
74 | int i=0; | |
75 | while(aktualni != null){ | |
76 | i++; | |
77 | Zakaznik z = aktualni.getZakaznik(); | |
78 | s += String.format("Zakaznik c.%d: %s",i ,z.toString()); | |
79 | aktualni = aktualni.getDalsi(); | |
80 | } | |
81 | return s; | |
82 | } | |
83 | /** | |
84 | * najde prvniho zakaznika, ktery ma zadane prijmeni | |
85 | * @param prijmeni vyhledavane prijmeni | |
86 | * @return nalezeny zakaznik | |
87 | */ | |
88 | public Zakaznik najdiPodlePrijmeni(String prijmeni){ | |
89 | Zakaznik z = null; | |
90 | Prvek aktualni = hlava; | |
91 | ||
92 | while(aktualni != null){ | |
93 | Zakaznik zTmp = aktualni.getZakaznik(); | |
94 | if(zTmp.getPrijmeni().equalsIgnoreCase(prijmeni)){ | |
95 | z = zTmp; | |
96 | break; | |
97 | } | |
98 | aktualni = aktualni.getDalsi(); | |
99 | } | |
100 | return z; | |
101 | } | |
102 | ||
103 | ||
104 | } |