gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Primeri za klase doterani i prilagodjeni za Svetovid-lib 0.4.0
[spa1-materijali.git] / kodovi / klase / Studenti.java
1 public class Studenti {
3 // promenljiva koja ce se videti u glavnom programu mora biti static
4 static SpisakStudenata spisak = null;
6 public static void main(String[] args) {
7 String imeF = Svetovid.in.readLine("Unesite ime fajla:");
8 spisak = new SpisakStudenata();
9 spisak.ucitajStudente(imeF);
11 Svetovid.out.println("Studenti iz fajla:");
12 spisak.ispisiStudenteNaEkran();
13 Svetovid.out.println();
15 Svetovid.out.println("Unos novog studenta:");
16 String ime = Svetovid.in.readLine("Unesite ime studenta:");
17 String prez = Svetovid.in.readLine("Unesite prezime studenta:");
18 int god = Svetovid.in.readInt("Unesite godinu rodjenja studenta:");
20 spisak.dodajStudenta(ime, prez, god);
22 Svetovid.out.println();
24 god = Svetovid.in
25 .readInt("Unesite godinu na osnovu koje zelite izlistavanje:");
26 Svetovid.out.println("Spisak studenata rodjenih " + god + ". godine: ");
27 spisak.ispisiStudenteSaGodinom(god);
28 Svetovid.out.println();
30 Svetovid.out.println("Rodjenih pre " + god + ". godine ima: "
31 + spisak.prebrojStudentePreGodine(god));
32 Svetovid.out.println();
34 String imeF2 = Svetovid.in.readLine("Unesite ime fajla za ispis:");
35 spisak.ispisiStudenteUFajl(imeF2);
37 }
39 }
41 class Student {
42 public String ime, prezime;
43 public int godina;
45 public Student(String i, String p, int g) {
46 ime = i;
47 prezime = p;
48 godina = g;
49 }
51 public String toString() {
52 return ime + " " + prezime + " " + godina;
53 }
54 }
56 class SpisakStudenata {
57 // konstante na nivou klase oznacavamo sa final static
58 final static int MAX_BR_STUDENATA = 100;
60 public Student[] spisakStudenata;
61 public int brojSt;
63 /** Kreira nov prazan spisak studenata */
64 public SpisakStudenata() {
65 spisakStudenata = new Student[MAX_BR_STUDENATA];
66 brojSt = 0;
67 }
69 /** Ucitava studente iz datog fajla u ovaj spisak studenata */
70 public void ucitajStudente(String f) {
71 String i, p;
72 int god;
74 while (!Svetovid.in(f).isEmpty() && brojSt < MAX_BR_STUDENATA) {
75 p = Svetovid.in(f).readToken();
76 i = Svetovid.in(f).readToken();
77 god = Svetovid.in(f).readInt();
78 dodajStudenta(i, p, god);
79 }
81 if (!Svetovid.in(f).isEmpty()) {
82 Svetovid.out.println("Previse studenata u fajlu! Ucitano prvih "
83 + MAX_BR_STUDENATA);
84 }
86 Svetovid.in(f).close();
87 }
89 /** Dodaje studenta sa datim podacima u ovaj spisak studenata */
90 public void dodajStudenta(String i, String p, int g) {
91 // proverimo da li ima mesta
92 if (brojSt < MAX_BR_STUDENATA) {
93 spisakStudenata[brojSt] = new Student(i, p, g);
94 brojSt++;
95 } else {
96 Svetovid.out.println("Previse studenata u nizu!");
97 }
98 }
100 public void ispisiStudenteUFajl(String f) {
101 for (int i = 0; i < brojSt; i++) {
102 Svetovid.out(f).print(spisakStudenata[i].prezime);
103 Svetovid.out(f).print(" ");
104 Svetovid.out(f).print(spisakStudenata[i].ime);
105 Svetovid.out(f).print(" ");
106 Svetovid.out(f).println(spisakStudenata[i].godina);
108 Svetovid.out(f).close();
111 public void ispisiStudenteNaEkran() {
112 for (int i = 0; i < brojSt; i++) {
113 Svetovid.out.print(spisakStudenata[i].prezime);
114 Svetovid.out.print(" ");
115 Svetovid.out.print(spisakStudenata[i].ime);
116 Svetovid.out.print(" ");
117 Svetovid.out.println(spisakStudenata[i].godina);
121 public void ispisiStudenteSaGodinom(int god) {
122 for (int i = 0; i < brojSt; i++) {
123 if (spisakStudenata[i].godina == god) {
124 Svetovid.out.println(spisakStudenata[i]);
129 public int prebrojStudentePreGodine(int god) {
130 int br = 0;
131 for (int i = 0; i < brojSt; i++) {
132 if (spisakStudenata[i].godina < god) {
133 br++;
136 return br;
139 // vraca String koji predstavlja ovaj niz studenata
140 public String toString() {
141 String st = "Studenti [";
142 if (brojSt > 0) {
143 st += spisakStudenata[0];
145 for (int i = 1; i < brojSt; i++) {
146 st += ", " + spisakStudenata[i];
148 st += "]";
149 return st;
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner