Methoden Wie kann ich eine if-Abfrage bei Setters bauen?

y11

Neues Mitglied
Ich habe das Bereit gemacht und es soll nur der Farbe „Gelb“ sein, aber es kommt immer eine Fehlermeldung...


Code:
package helloworld;

public class Car {
    
    //Eigenschaften/Attribute
    
    private  String color; //Farbe
    private String brand; //Marke
    private int horsePower; //PS-Zahl
    
    //Methoden
    
    public void drive() {
        System.out.println("Das Auto fährt");
    }
    
    
    
    
    //Getters und Setters -> color

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        if(setColor equals("Gelb") ) {
            
        }
        this.color = color;
    }
}
 
Also der Parameter ist color also willst du sowas wie color.equals(...) testen. Und dann natürlich nicht mit einem String vergleichen, sondern mit der Farbe gelb. Und die Klasse Color hat dazu eine Konstante YELLOW...

color.equals(Color.YELLOW) wäre also die Bedingung.
 
Meinen Sie es so... Weil da kommt uach ein Fehlermeldung ?
Code:
public String getColor() {
        color.equals(Color.YELLOW);
            return color;
    
    }
 
Also wenn ein Fehler kommt, dann bitte immer den genauen Fehler benennen! Wir wollen nicht raten.

Und hier frage ich mich, was du überhaupt machen willst. Wir haben in dem Thread erst einmal nur den Setter behandelt. Da hattest du eine if Anweisung, die kein korrekter Java Code war. Dafür habe ich dir eine Alternative geboten.

Jetzt hast Du Code in den Getter gepackt, der so keinen Sinn macht. Daher wie schon gefragt: was genau willst du überhaupt machen?
 
Ach, ich sehe gerade: Deine Variable color ist vom Typ String und nicht vom Typ Color. Daher ist die Prüfung ein einfaches color.equals("Gelb") ).

Sorry, dass ich nicht von Anfang an gut genug gelesen habe und den Typ nicht beachtet habe ....
 

Zurück
Oben