Boolean Wert nicht richtig erkannt

Diskutiere Boolean Wert nicht richtig erkannt im Java Basics - Anfänger-Themen Bereich.
V

ve987

Hallo zusammen,

mein Problem ist, dass bei der Ausgabe, der boolean Wert "isNeuwagen" nicht richtig ausgegeben wird.
Es wird bei beiden Objekten als false ausgeben, obwohl einer mit true gesetzt wurde.
Woran könnte das liegen?
Schon mal vielen Dank!
Code:
public class MObile {

    public static void main(String[] args) {

        VW.addAuto(VW.erstelleAuto(false, "vw", 75.000, 5.999, 2009));
        VW.addAuto(VW.erstelleAuto(true, "vw", 25.000, 15.999, 2019));
        VW.ausgabe();

    }
}


public class Auto {

    private boolean neuwagen;
    private String marke;
    private double km;
    private double preis;
    private int erstzulassung;

    public Auto(boolean neuwagen, String marke, double km, double preis, int erstzulassung) {
        this.marke = marke;
        this.km = km;
        this.preis = preis;
        this.erstzulassung = erstzulassung;
    }

    public String getMarke() {
        return marke;
    }

    public void setMarke(String marke) {
        this.marke = marke;
    }

    public double getKm() {
        return km;
    }

    public void setKm(double km) {
        this.km = km;
    }

    public double getPreis() {
        return preis;
    }

    public void setPreis(double preis) {
        this.preis = preis;
    }

    public int getErstzulassung() {
        return erstzulassung;
    }

    public void setErstzulassung(int erstzulassung) {
        this.erstzulassung = erstzulassung;
    }

    public boolean isNeuwagen() {

        return neuwagen;

    }

    public void setNeuwagen(boolean neuwagen) {
        this.neuwagen = neuwagen;
    }

}



import java.util.*;

public class VW extends Auto {

     static List<VW> autoListeVW = new LinkedList<VW>();

    public VW(boolean neuwagen, String marke, double km, double preis, int erstzulassung) {
        super(neuwagen, marke, km, preis, erstzulassung);
    }

    public static VWerstelleAuto(boolean neuwagen, String marke, double km, double preis, int erstzulassung) {
        return new Mazda(neuwagen, marke, km, preis, erstzulassung);

    }

    public static boolean addAuto(VW vw) {

        autoListeVW.add(vw);
        System.out.println("Auto hinzugefügt");

        return true;
    }

    public static void ausgabe() {
        for (VWplatzhalter : autoListeVW) {
            System.out.println();
            System.out.println("Infos:");
            System.out.println("Marke: " + platzhalter.getMarke());
            System.out.println(platzhalter.isNeuwagen());
            System.out.println("Km: " + "" + platzhalter.getKm());
            System.out.println("Preis: " + "" + platzhalter.getPreis());
            System.out.println("Erstzulassung:" + " " + platzhalter.getErstzulassung());
        }

    }
}
 
T

temi

Noch ein paar Hinweise:

Vererbung bedeutet eine "ist ein" Beziehung, also z.B. ein Huhn ist ein Tier => Huhn extends Tier oder vielleicht auch VW ist ein Auto. Bei dir ist offenbar VW eine Autoliste und damit eine Autoliste ein Auto. Das passt nicht.

Falls du eine Liste von Autos benötigst, dann ist das in Ordnung. Nimm List<Auto> oder erstelle eine Klasse, die intern List<Auto> verwendent, aber auf keinen Fall solltest du diese Listenklasse von Auto erben lassen.
 
Thema: 

Boolean Wert nicht richtig erkannt

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben