this

Bitte aktiviere JavaScript!
Ich habe eine Methode, welche den Preis von Autos vergleichen soll
Java:
public Auto(String marke, int preis, int reifen) {
        
        this.marke = marke;
        this.preis = preis;
        this.reifen = reifen;
        
    }
public void vergleiche(int preis) {
        
        this.preis = preis;
        
        if(this.preis<=preis) {
            
            System.out.println("Das Auto " + this.marke + " kannst du dir leisten");
        }
        else if (this.preis>preis) {
            
            System.out.println("Das Auto " + this.marke + " kannst du dir nicht leisten");
        }
Und in meiner Main Methode diese Forderung
Java:
        System.out.println("Wie viel Geld möchtest du ausgeben?");
        eingabe = scan.nextInt();
        
        Auto audi = new Auto("Audi", 4000, 4);
        
        audi.vergleiche(eingabe);
Doch wenn ich z.B 2500 eingebe sagt mir die Methode, dass ich mir das Auto leisten kann, obwohl es nicht stimmt. Kann mir wer helfen?
 
Du sagst doch auch in der ersten Zeile der vergleiche Methode, dass der übergebene Preis gleich dem Preis des Autos sein soll.
 
Du verstehst mich falsch...
Java:
public void vergleiche(int preis) {
        this.preis = preis;  // <--- (1)
       
        if(this.preis<=preis) { // <--- (2)
           
            System.out.println("Das Auto " + this.marke + " kannst du dir leisten");
        }
        else if (this.preis>preis) {
           
            System.out.println("Das Auto " + this.marke + " kannst du dir nicht leisten");
        }
}
Du übergibst der Methode vergleiche einen Preis. preis = 2500. In Zeile (1) sagst du, dass this.preis (Preis das aktuellen Auto Objektes - also bei dir 4000), gleich preis (Übergebener Preis - also bei dir 2500) sein soll. Nach dieser Zeile ist also sowohl this.preis als auch preis 2500.
In (2) vergleichst du dann die Preise .. du sagst ja aber vorher dass this.preis = preis .. demnach ist (2) immer true.

Du gehst ja auch nicht zum Händler wenn du 2500€ dabei hast und sagst ihm, dass der Preis des Autos jetzt 2500€ ist ;)
 
Du übergibst der Methode vergleiche einen Preis. preis = 2500. In Zeile (1) sagst du, dass this.preis (Preis das aktuellen Auto Objektes - also bei dir 4000), gleich preis (Übergebener Preis - also bei dir 2500) sein soll. Nach dieser Zeile ist also sowohl this.preis als auch preis 2500.
In (2) vergleichst du dann die Preise .. du sagst ja aber vorher dass this.preis = preis .. demnach ist (2) immer true.
Ach du lieber Gott xD Ja jetzt habe ich es verstanden, einfach die erste Zeile raus nehmen. War ein Denkfehler vielen Dank.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben