javadoc
parent
eede5fc2d2
commit
8df2afc8cc
Binary file not shown.
|
@ -7,42 +7,53 @@ public class Main {
|
|||
|
||||
public static void main(String[] args) {
|
||||
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("obai","mannheim","Cyber");
|
||||
Student omar = new Student("omar","mannheim","Cyber");
|
||||
Pruefung pr2 = new Pruefung("PR2", 12,1,5);
|
||||
Pruefung thi = new Pruefung("THI", 12,1,5);
|
||||
omar.addPruefung(pr2);
|
||||
omar.addPruefung(thi);
|
||||
|
||||
ArrayList<Student> sts = new ArrayList<>();
|
||||
sts.add(omar);
|
||||
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
|
||||
sts.stream()
|
||||
.flatMap(p -> p.getPruefungen().stream())
|
||||
.filter(n -> n.getNote() >= 5)
|
||||
.forEach(student -> System.out.println("Student: " + student.getName()));
|
||||
.forEach( st -> {
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue