Methoden Anfängerprobleme o-o

Dify

Mitglied
Ich bin noch relativ neu in der Szene und habe mich nun an einem Auto probiert, was beschleunigen und bremsen können soll. Nun will das aber nicht funktionieren. Ich denke mal der Fehler ist relativ einfach, nur ich sehe ihn einfach nicht. Schon seit knapp einer halben Stunde probiere ich rum, aber es nützt nichts. :(

Problem liegt irgendwo bei der Statusausgabe.
Das Auto sollte eigentlich beschleunigen, jedoch gibt der Status immer 0 aus.
Ich hoffe jemand von euch kann mir da ein wenig unter die Arme greifen. :D
Danke im Vorraus!

Hier mein Code:

Java:
public class Auto {
    // Variabeln
    private int geschwindigkeit;
    private String name;
    // Methoden
    public void beschleunigen() {
        geschwindigkeit = geschwindigkeit + 1;
    }
    public void bremsen() {
        geschwindigkeit = geschwindigkeit - 1;
    }
    public void handbremse() {
        geschwindigkeit = 0;
    }
    // Getter / Setter
    public int getGeschwindigkeit() {
        return geschwindigkeit;
    }
    public void setName(String name) {
        this.name = name;
    }
   
    public String getStatus() {
        return name + " fährt gerade " + getGeschwindigkeit() + " km/h";
    }
}

Java:
public class AutoDemo {

    public static void main(String[] args) {

        // Erstellung
        Auto Berta = new Auto();

        // Programm
        Berta.setName("Berta");
        String Status = Berta.getStatus();
        Berta.beschleunigen();
       
        System.out.println(Status);

    }
}
 

Dify

Mitglied
Wie meinen? Ein Integer ist doch Standartmäßig auf 0, oder bin ich da falsch informiert? Selbst wenn ich die Geschwindigkeit vorher auf 0 lege, ändert das leider immernoch nichts am Output. :oops:
 

Dify

Mitglied
Da stellt sich mir gerade trotzdem noch eine Frage: Warum kann ich nicht einfach das ganze so herum schreiben?

Java:
public class AutoDemo {

    public static void main(String[] args) {
      
        Auto Berta = new Auto();
      
        Berta.setName("Berta");
        Berta.beschleunigen();
        Berta.beschleunigen();
      
        System.out.println(Berta.getStatus);
    }
}
Bzw. warum wird "System.out.println(Berta.getStatus);" als Error angezeigt? Er schlägt mir vor "getStatus" zu erstellen, aber habe ich das nicht schon?
 

Dify

Mitglied
Fehler entdeckt. Wen's interessiert:


Java:
public class AutoDemo {

    public static void main(String[] args) {
    
        Auto Berta = new Auto();
    
        Berta.setName("Berta");
        Berta.beschleunigen();
        Berta.beschleunigen();
    
        System.out.println(Berta.getStatus()); // <-- die beiden Klammern haben gefehlt..
    }
}

Entschuldigt den Mehrfachpost. Thema kann geschlossen werden. :)
 

JStein52

Top Contributor
getStatus ist eine Methode. Du musst schreiben:

Berta.getstatus() // die klammern haben dir gefehlt.

Edit: ok, du hast es gemerkt.
 

Ähnliche Java Themen

Neue Themen


Oben