Methode mit Parametern um Objekte zu übergeben

excuseme

Mitglied
Hallo,

ich soll eine Methode schreiben, die als Parameter ein Feld unbekannter Länge übergeben wird, welches Objekte aus meinen Klassen Reise, Urlaubsreise und Tagesreise aufnehmen kann. Z.B soll ich alle Daten der Objekte ausgeben, deren Reiseziel Barcelona ist. Falls diese nicht belegt sind soll eine Meldung kommen das die Indexnr nicht belegt ist. Ich hab leider nur keinen Ansatz dafür, wie ich diese Methode schreiben soll. Ich hoffe mir kann jemand auf die Sprünge helfen

Java:
    public class Reise
    {
    protected String reiseziel;
    protected double preis;
    protected int reisedauer;
    public static double DEFAULTPREIS = 100.00;
    public static int DEFAULTDAUER = 7;
    public Reise(String reiseziel, double preis, int reisedauer)
    {
    this.reiseziel = reiseziel;
    setPreis(preis);
    setReisedauer(reisedauer);
    }
    public String getReiseziel()
    {
    return reiseziel;
    }
    public void setReiseziel(String reiseziel)
    {
    this.reiseziel = reiseziel;
    }
    public double getPreis()
    {
        return preis;
    }
    public void setPreis(double preis)
    {
    if(preis > 0)
    this.preis = preis;
    else
    this.preis = DEFAULTPREIS;
    }
    public int getReisedauer()
    {
    return reisedauer;
    }   
    public void setReisedauer(int reisedauer) {
        if(reisedauer > 0)
        this.reisedauer = reisedauer;
        else
        this.reisedauer = DEFAULTDAUER;
        }

        @Override
        public String toString()
        {
        return "Reiseziel: " + this.reiseziel + "\nPreis: " +
        this.preis + "\nDauer: " + this.reisedauer;

        }
}
Java:
public class UrlaubsReise extends Reise {
    String unterkunft;
    String anreise;
    String essen;
    public UrlaubsReise(String reiseziel, double preis, int dauer, String unterkunft, String anreise, String essen) {
    super(reiseziel, preis, dauer);
    this.unterkunft = unterkunft;
    this.anreise = anreise;
    this.essen = essen;
    }
    public String getUnterkunft() {
        return unterkunft;
    }
    public void setUnterkunft(String unterkunft) {
        this.unterkunft = unterkunft;
    }
    public String getAnreise() {
        return anreise;
    }
    public void setAnreise(String anreise) {
        this.anreise = anreise;
    }
    public String getEssen() {
        return essen;
    }
    public void setEssen(String essen) {
        this.essen = essen;
    }
    @Override public String toString()
    {
    return super.toString() + "Unterkunft" + getUnterkunft() + "\nAnreise" + getAnreise() + "\nEssen" + getEssen();
    }
}
Java:
public class TagesReise extends Reise {
    int abfahrt;
    int ankunft;
    public static int DEFAULTDAUER = 1; //TAG
   
    public TagesReise(String reiseziel, double preis, int dauer, int abfahrt, int ankunft) {
    super(reiseziel, preis, dauer);
    this.abfahrt = abfahrt;
    this.ankunft = ankunft;
    }
    public int getAbfahrt() {
        return abfahrt;
    }
    public void setAbfahrt(int abfahrt) {
        this.abfahrt = abfahrt;
    }
    public int getAnkunft() {
        return ankunft;
    }
    public void setAnkunft(int ankunft) {
        this.ankunft = ankunft;

    }
    @Override public String toString()
    {
    return super.toString() + "Abfahrt" + getAbfahrt() + "\nAnkunft" + getAnkunft();
    }
}
Java:
public class ReiseTest {
   
    public static void main(String[] args) {
       
        Reise[] nixWieWeg = new Reise[80];
        nixWieWeg[0] = new UrlaubsReise("Barcelona", 200.50, 4, "Marina", "BUS", "ALLINKLUSIVE");
        nixWieWeg[1] = new UrlaubsReise("Schottland", 399.99, 7, "Whisky", "FLUGZEUG", "HALBPENSION");
        nixWieWeg[2] = new TagesReise("Burg Schottland", 50, 1, 12, 16);
        nixWieWeg[3] = new TagesReise("Küste Barcelona", 30.99, 1, 10, 12);
        }
    }
 
Deine Beschreibung ist sehr schwer zu verstehen.

Kannst du mal ein konkretes Beispiel nennen, was die Methode ausgeben soll, wenn man ihr das Array "nixWieWeg " übergibt? Hast du evtl. schon die Methodensignatur?

Und was meinst du mit
Falls diese nicht belegt sind soll eine Meldung kommen das die Indexnr nicht belegt ist.
 
Deine Beschreibung ist sehr schwer zu verstehen.

Kannst du mal ein konkretes Beispiel nennen, was die Methode ausgeben soll, wenn man ihr das Array "nixWieWeg " übergibt? Hast du evtl. schon die Methodensignatur?

Ich bin mir da auch nicht so sicher. Ich habe es so verstanden, dass ich in meinem Array von ReiseListe theoretisch mehrere Ziele nach z.B Barcelona eintragen kann. Und die Methode soll dann eben, wenn ich Barcelona eingebe, alle diese Einträge mit Barcelona ausgeben, falls dort keine Einträge vorhanden sind, soll diese Fehlermeldung erscheinen.
 
Ich bin mir da auch nicht so sicher. Ich habe es so verstanden, dass ich in meinem Array von ReiseListe theoretisch mehrere Ziele nach z.B Barcelona eintragen kann. Und die Methode soll dann eben, wenn ich Barcelona eingebe, alle diese Einträge mit Barcelona ausgeben, falls dort keine Einträge vorhanden sind, soll diese Fehlermeldung erscheinen.
Siehe Beitrag #3: Übergebe ein Array vom Typ Reise[] an die Methode und innerhalb der Methode rufe für jedes Element die Methode "getReiseziel()" auf. Sofern das Reiseziel "Barcelona" ist/enthält gib dieses aus.
 

Zurück
Oben