Hallo, bei der Hauptklasse habe ich eine statische Methode geschrieben, wobei es die durchschnittlicher alter der Studenten berechnen soll. Jedoch kann ich auf die alter von den Studenten mit der statischen methode nicht zugreifen.
Code:
import java.time.LocalDate;
import java.time.Period;
public class Student {
/** Instanzvariablen */
public String name;
public String vorname;
public LocalDate geburtsDatum;
public String martikelnummer;
public double ageOfStudent;
/** Konstruktor */
public Student(String name, String vorname, LocalDate geburtsDatum, String martikelnummer, int ageOfStudent) {
this.name = name;
this.vorname = vorname;
this.geburtsDatum = geburtsDatum;
this.martikelnummer = martikelnummer;
this.ageOfStudent = ageOfStudent;
}
/** Ermittelt die Alter des Studenten */
public int calculateAge() {
LocalDate datum = LocalDate.now();
LocalDate ageOfStudent = this.geburtsDatum;
Period period = Period.between(ageOfStudent, datum);
return period.getYears();
}
/** Ausgabe */
public void gibStudent() {
System.out.println("Name: " + name + " , " + "Vorname: " + vorname + " , " + "Geburtsdatum: " + geburtsDatum
+ " , " + "Martikelnummer: " + martikelnummer + " , " + "Alter: " + calculateAge());
}
}
Code:
import java.time.LocalDate;
import java.util.ArrayList;
public class Haupt {
public static double durchschnittsAlter(double[] ageOfStudent) {
double ergebnis = 0;
for (int i = 0; i < ageOfStudent.length; i++) {
ergebnis = ergebnis + ageOfStudent[i];
}
return ergebnis / ageOfStudent.length;
}
public static void main(String[] args) {
System.out.println("Studenten mit Alter:");
System.out.println();
ArrayList<Student> student = new ArrayList<Student>();
student.add(new Student("Müller", "Hans", LocalDate.of(1995, 8, 6), "123456789", 0));
student.add(new Student("Hoffmann", "Mahmut", LocalDate.of(1996, 8, 30), "987654321", 0));
for (Student s : student) {
s.gibStudent();
}
}
}