Auf statische Methode zugreufen

nikotin

Mitglied
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();

        }

    }

}
 

nikotin

Mitglied
ich habe ja ein ArrayList mit den Studenten erstellt. Die alter der Studenten werden mit der Methode calculateAge(); berechnet und in der Variable ageOfStudent gespeichert.

Code:
durchschnittsalter(student.ageOfStudent);
habe ich probiert, jedoch erfolglos. ich weis nicht, wie ich zugreifen und berechnen kann
 

nikotin

Mitglied
Code:
durchschnittsalter(student);
das geht auch nicht, oder
Code:
durchschnittsalter(student.ageOfStudent);
auch nicht. ich bekomme den folgenden Fehler angezeigt:

The method durchschnittsAlter(double[]) in the type Student_Test is not applicable for the arguments
(ArrayList<Student>)
 

Robat

Top Contributor
Ich würde dir folgendes Vorschlagen:

1. Füge in deiner Studenten Klasse einen Getter für das alter hinzu.
2. in Deinem Haupt durchläufst du alle Studenten, holst dir das alter mit getAge() und addest es in ein neues double[] array.
3. das übergibst du der methode durchschnittsalter.
 

Jardcore

Top Contributor
Ich würde Robat's Ansatz verfolgen und schauen wie weit du damit kommst.
Weiterhin ist aber noch die Sichtbarkeit der Variablen und deine nicht vorhandenen Getter (die Robat anspracht) zu erkennen.
Außerdem suggeriert gibStudent(), dass du hier den Studenten zurückgeben haben willst. Eigentlich möchtest du aber den Studenten auf der Konsole ausgeben. Wie wäre es hier einfach mit der Methode print(); oder du überschreibst die schon vorhandene toString() Methode und rufst dann an der Stelle an der die Ausgabe stattfinden soll System.out.println(student.toString()); auf.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Die statische Main-Methode ändert Instanzvariable? Java Basics - Anfänger-Themen 10
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
B Statische Methode return funktioniert nicht. Java Basics - Anfänger-Themen 19
R Methoden Nicht statische Methode aus Main aufrufen Java Basics - Anfänger-Themen 2
B Java Programm ohne statische Main Methode aufrufen Java Basics - Anfänger-Themen 5
A Nicht-statische Methode in einer statischen aufrufen Java Basics - Anfänger-Themen 10
L Methoden Auf statische Methode einer anderen Klasse zugreifen, die Array zurückgibt Java Basics - Anfänger-Themen 3
S statische Methode nebenläufig Java Basics - Anfänger-Themen 2
R Aufruf statische Methode Java Basics - Anfänger-Themen 7
C Relativer Pfad - Statische Methode Java Basics - Anfänger-Themen 6
A Statische Methode "vererben" - Zwang durch annotation processor Java Basics - Anfänger-Themen 10
H Statische generische Methode Java Basics - Anfänger-Themen 2
K nicht-statische Methode aufrufen Java Basics - Anfänger-Themen 3
P nicht statische methode instantiieren Java Basics - Anfänger-Themen 7
K statische variablen und methode Java Basics - Anfänger-Themen 3
M Konstruktor eine statische Methode? Java Basics - Anfänger-Themen 9
F Statische Methode - Nicht Statische Methode Java Basics - Anfänger-Themen 10
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
V Variablen statische Variable einer Objektvariable zuordnen Java Basics - Anfänger-Themen 3
S Klassen statische Objekterzeugung vor Konstruktoraufruf??? Java Basics - Anfänger-Themen 6
Queiser Nicht statische Klassen Java Basics - Anfänger-Themen 6
C nicht statische Methoden Java Basics - Anfänger-Themen 4
D statische generische Methoden Java Basics - Anfänger-Themen 3
D Statische Variablen/Methoden Java Basics - Anfänger-Themen 3
S Zufallszahl (Statische Attribute und Methoden) Java Basics - Anfänger-Themen 10
F Privater Konstruktor und statische Methoden Java Basics - Anfänger-Themen 4
S ActionListener und Statische Variablen Java Basics - Anfänger-Themen 4
D Statische Objekte mit variablem Parameter Java Basics - Anfänger-Themen 1
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
F Statische Klasse => Flaschenhals? Java Basics - Anfänger-Themen 10
T Statische Arrays von Objekten Java Basics - Anfänger-Themen 2
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
S Datentypen nicht lineare STATISCHE Datenstruktur? Java Basics - Anfänger-Themen 10
E statische Variable ändert sich Java Basics - Anfänger-Themen 7
A Statische Variable in Methoden Java Basics - Anfänger-Themen 7
P Klassen statische oder dynamische(?) Klasse Java Basics - Anfänger-Themen 3
M Wann statische Methoden/Attribute? Java Basics - Anfänger-Themen 2
M Statische Methoden in Interface/Abstrakte Klasse Java Basics - Anfänger-Themen 6
J statische Methoden auf eine LinkedList initialisieren? Java Basics - Anfänger-Themen 5
A statische Arraylist Java Basics - Anfänger-Themen 6
Q Variablen Statische Variablen Java Basics - Anfänger-Themen 8
J Unterschied zwischen statische und nicht statische Methoden? Java Basics - Anfänger-Themen 14
V OOP Statische Klassen-Attribute vererben Java Basics - Anfänger-Themen 4
K Statische Bindung Java Basics - Anfänger-Themen 6
B dynamische/statische Typen Java Basics - Anfänger-Themen 2
M Statische Methoden Java Basics - Anfänger-Themen 22
sqsh statische jlabels dynamisch verwalten Java Basics - Anfänger-Themen 2
S Statische Klassen/ Singleton Java Basics - Anfänger-Themen 13
E Statische Member können nicht vererbt werden? Java Basics - Anfänger-Themen 10
F Generische Typen auch für statische Methoden? Java Basics - Anfänger-Themen 13
B statische Variable Java Basics - Anfänger-Themen 10
M Statische und nicht-statische Funktionen: Desktop.browse(uri); Java Basics - Anfänger-Themen 4
A Stilfrage: statische Methoden und Attribute auf jeden Fall verhindern? Java Basics - Anfänger-Themen 5
A Stilfrage: statische Variable mit Instanz der gleichen Klasse Java Basics - Anfänger-Themen 8
A statische Attribute: Vererbung und Zugriff darauf Java Basics - Anfänger-Themen 15
hdi Observer als statische Klasse ? Java Basics - Anfänger-Themen 2
hdi statische synchronisation Java Basics - Anfänger-Themen 6
G statische ArrayList? Java Basics - Anfänger-Themen 8
K Statische Variablen von Objekten im Array Java Basics - Anfänger-Themen 15
S statische variable initialisieren mit exception Java Basics - Anfänger-Themen 2
G statische Variable zugreifen bzw. setzen Java Basics - Anfänger-Themen 6
T in statischem Kontext auf nicht statische Variable beziehen Java Basics - Anfänger-Themen 5
M Statische Funktion Java Basics - Anfänger-Themen 2
M öffentliche nicht-statische Funktion fremder Klasse ausführn Java Basics - Anfänger-Themen 16
C args[] als statische Variablen speicher oder wie? Java Basics - Anfänger-Themen 12
H statische methoden und sichtbarkeit Java Basics - Anfänger-Themen 13
nadoria statische Methoden (Klassenmethoden) Java Basics - Anfänger-Themen 3
H Was ist nocheinmal eine statische Klasse? Java Basics - Anfänger-Themen 6
G Statische Methoden? Java Basics - Anfänger-Themen 2
kb statische methoden und throws exception Java Basics - Anfänger-Themen 2
H statische, dynamischer Typ von Variablen Java Basics - Anfänger-Themen 1
H statische,dynamische Bindung Java Basics - Anfänger-Themen 4
N Unterschied statische Attribute u. Methoden <-> objekt Java Basics - Anfänger-Themen 4
O nicht-statische Inhalte auf statische Inhalte verweisen Java Basics - Anfänger-Themen 19
M wann statische klassen? Java Basics - Anfänger-Themen 14
U statische Variablen Java Basics - Anfänger-Themen 12
S Statische Felder - statische Methoden Java Basics - Anfänger-Themen 2
D Statische und Nicht-Statische Methoden Java Basics - Anfänger-Themen 7
K Statische Methoden!? Java Basics - Anfänger-Themen 8
T Rekursive Methode Java Basics - Anfänger-Themen 13
Ü Methode soll Quadrat aus der Summer zurückgeben Java Basics - Anfänger-Themen 10
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
Leyla Spezifischte Methode Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
C Zugriff auf Methode Java Basics - Anfänger-Themen 2
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
M Methode sperren bis ein Kriterium erfüllt wurde Java Basics - Anfänger-Themen 3
D Switch Case Methode aufrufen Java Basics - Anfänger-Themen 3
C Unbekannte Methode add bei Klasse die JTree erweitert Java Basics - Anfänger-Themen 14
M methode aufrufen ohne parameter Java Basics - Anfänger-Themen 1
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
Ostkreuz Wieso wird die Methode nochmal aufgerufen? Java Basics - Anfänger-Themen 5
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben