package L1;
public class Grupa implements Predicate {
Student tab[];
double srmin;
public Grupa(int liczba) {
tab = new Student[liczba];
}
public Grupa(double srednia1) {
srmin = srednia1;
}
public void dodaj(Student s) { // metoda do dodawania studentow
for (int i = 0; i < tab.length; i++) {
while (tab[i] == null) {
tab[i] = s;
}
}
}
@Override
public boolean evaluate(Object ob) {
return ((Student) ob).srednia > srmin;
}
public void Filtruj() {
Iterator it = new Iterek(tab);
it.first();
Iterator fit = new Filter(it, new Grupa(3.20));
fit.first();
while (!fit.isDone()) {
Student st = (Student) fit.current();
System.out.println(st);
fit.next();
}
}
public static void main(String[] args) {
Grupa uczelnia = new Grupa(5); // tworze obiekt i dodaje studentow
uczelnia.dodaj(new Student("Czajkowski", 4.50));
uczelnia.dodaj(new Student("Marecki", 3.0));
uczelnia.dodaj(new Student("Stefaniak", 4.20));
uczelnia.dodaj(new Student("Zdziwsław", 4.0));
uczelnia.dodaj(new Student("Borek", 3.7));
uczelnia.Filtruj();
}
}
Comments