javadoc
parent
eede5fc2d2
commit
8df2afc8cc
Binary file not shown.
|
@ -7,42 +7,53 @@ public class Main {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Student obai = new Student("obai","mannheim","informatik");
|
Student obai = new Student("obai","mannheim","informatik");
|
||||||
Pruefung pr = new Pruefung("TE2", 10,2,1.4);
|
Pruefung TE2 = new Pruefung("TE2", 10,2,1.4);
|
||||||
|
Pruefung mathe = new Pruefung("mathe", 10,2,5);
|
||||||
|
obai.addPruefung(TE2);
|
||||||
|
obai.addPruefung(mathe);
|
||||||
|
|
||||||
obai.addPruefung(pr);
|
Student omar = new Student("omar","mannheim","Cyber");
|
||||||
|
|
||||||
Student omar = new Student("obai","mannheim","Cyber");
|
|
||||||
Pruefung pr2 = new Pruefung("PR2", 12,1,5);
|
Pruefung pr2 = new Pruefung("PR2", 12,1,5);
|
||||||
|
Pruefung thi = new Pruefung("THI", 12,1,5);
|
||||||
omar.addPruefung(pr2);
|
omar.addPruefung(pr2);
|
||||||
|
omar.addPruefung(thi);
|
||||||
|
|
||||||
ArrayList<Student> sts = new ArrayList<>();
|
ArrayList<Student> sts = new ArrayList<>();
|
||||||
sts.add(omar);
|
sts.add(omar);
|
||||||
sts.add(obai);
|
sts.add(obai);
|
||||||
|
|
||||||
// //Alle Studenten eines bestimmten Studiengangs ausgeben
|
|
||||||
// sts.stream()
|
|
||||||
// .filter(stg -> stg.getStudiengang().equals("informatik"))
|
|
||||||
// .forEach(i -> System.out.println(i.getName()));
|
|
||||||
//
|
|
||||||
// //Notenschnitt jeder Studi-Instanz berechnen und ausgeben
|
|
||||||
// sts.stream()
|
|
||||||
// .flatMap(st -> st.getPruefungen().stream())
|
|
||||||
// .forEach(System.out::println);
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// sts.forEach(student -> {
|
|
||||||
// double durchschnitt = student.getPruefungen().stream()
|
|
||||||
// .mapToDouble(Pruefung::getNote)
|
|
||||||
// .average()
|
|
||||||
// .orElse(Double.NaN); // Optional: um NaN zu vermeiden, falls keine Prüfungen vorhanden sind
|
|
||||||
// System.out.println("Durchschnittsnote von " + student.getName() + ": " + durchschnitt);
|
|
||||||
// });
|
|
||||||
|
|
||||||
|
//Alle Prüfungen mit ihrem Namen, dem Semester, der Note und Namen des Studis ausgeben
|
||||||
|
sts.stream()
|
||||||
|
.forEach(st -> System.out.println("StudentName: " + st.getName()+ st.getPruefungen()));
|
||||||
|
|
||||||
|
System.out.println();
|
||||||
|
//Alle Studenten eines bestimmten Studiengangs ausgeben
|
||||||
|
sts.stream()
|
||||||
|
.filter(s -> s.getStudiengang().equalsIgnoreCase("informatik"))
|
||||||
|
.forEach(System.out::println);
|
||||||
|
|
||||||
|
System.out.println();
|
||||||
|
//Notenschnitt jeder Studi-Instanz berechnen und ausgeben
|
||||||
|
sts.stream().forEach(student -> {
|
||||||
|
double durchschnitt = student.getPruefungen().stream()
|
||||||
|
.mapToDouble(p -> p.getNote()) // Konvertiere die Noten in einen Double-Stream
|
||||||
|
.average() // Berechne den Durchschnitt
|
||||||
|
.orElse(0.0); // Falls keine Prüfungen vorhanden sind, wird 0.0 als Standardwert verwendet
|
||||||
|
|
||||||
|
System.out.println("Student: " + student.getName() + ", Notenschnitt: " + durchschnitt);
|
||||||
|
});
|
||||||
|
|
||||||
|
System.out.println("Alle Studenten ausgeben, die eine Prüfung nicht bestanden haben");
|
||||||
// Alle Studenten ausgeben, die eine Prüfung nicht bestanden haben
|
// Alle Studenten ausgeben, die eine Prüfung nicht bestanden haben
|
||||||
sts.stream()
|
sts.stream()
|
||||||
.flatMap(p -> p.getPruefungen().stream())
|
.forEach( st -> {
|
||||||
.filter(n -> n.getNote() >= 5)
|
|
||||||
.forEach(student -> System.out.println("Student: " + student.getName()));
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue