einige fragen

Von: , Frage gestellt am Do, 26. Okt 2006

hallo,

ich habe 2 klassen geschrieben
1. teilnehmer
2. konferenz

in der klasse konferenz will ich für klasse daten teilnehmer einfügen:

public void hinzu(String Name, String La, String thema){
Teilnehmer te;
te = new Teilnehmer();
te.setzedaten(Name, Land, thema);
Menge ++;
}

---
in der klasse teilnehmer habe ich diese klasse:

public String holedaten(){
return( this.Name + ", " + this.Land + ", " + this.Thema);
}

wie kann ich die bei klasse konferenz ausgeben? (alle teilnemher)

public void ausgabe() {

// da müsste ich doch mein objekt "te" aufrufen, das geht aber nicht.
}

------
dann mal andere frage:
wie kann ich bei java nach meinen teilnehmern suchen und irgendwas verändern? (wenn es geht bitte den quellcode mir zeigen, da ich sonst nicht zurecht komme)

vielen dank

3 Antworten zu dieser Frage

  1. Antwort von nach 4 Stunden 0 hilfreich
    Re: einige fragen

    Hallo,

    du hast deine Teilnehmer nur lokal in der Methode hinzu definiert. Du hast die Teilnehmer sofort wieder vergessen.

    Lösung:
    in der Klasse:
    Vector tn = new Vector();
    und in den Methoden:
    siehe unten hallo,

    ich habe 2 klassen geschrieben
    1. teilnehmer
    2. konferenz

    in der klasse konferenz will ich für klasse daten teilnehmer
    einfügen:

    public void hinzu(String Name, String La, String thema){
    Teilnehmer te;
    te = new Teilnehmer();
    te.setzedaten(Name, Land, thema);
    tn.add(te);
    //jetzt ist er drin Menge ++;
    }

    ---
    in der klasse teilnehmer habe ich diese klasse:

    public String holedaten(){
    for (int i = 0; i < tn.size(); i++) {
    Teilnehmer te = tn.get(i);
    System.out.println(te.getName() + ...);
    }

    Statt des Vectors kannst du auch ein ListArray nehmen. Das kann man besser sortieren.

    Gruß

    Peter return( this.Name + ", " + this.Land + ", " + this.Thema);
    }

    wie kann ich die bei klasse konferenz ausgeben? (alle
    teilnemher)

    public void ausgabe() {

    // da müsste ich doch mein objekt "te" aufrufen, das geht aber
    nicht.
    }

    ------
    dann mal andere frage:
    wie kann ich bei java nach meinen teilnehmern suchen und
    irgendwas verändern? (wenn es geht bitte den quellcode mir
    zeigen, da ich sonst nicht zurecht komme)

    vielen dank

    • Antwort von nach 9 Stunden 0 hilfreich
      Re^2: einige fragen

      vielen dank

      bei ausgabe()
      unter Teilnehmer te = tn.get(i); gibt er folgen fehler an:


      Konferenz.java:29: incompatible types

      found : java.lang.Object

      required: Teilnehmer

      Teilnehmer te = tn.get(i);

      ^

      irgendwas mit tn.get(i); stimmt nciht.
      ich habe java.util.Vector; importiert, vielleicht muss ich noch was importieren oder woran liegt es? [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

      • Antwort von nach 10 Stunden 0 hilfreich
        Re^3: einige fragen

        Hallo,

        Vektoren speichern Referenzen auf Object. Da jede Java-Klase von Object abgeleitet ist, kann man in Vector alle Arten von Objekten speichern.
        ABER:
        Du bekommst natürlich auch nur Object zurück wenn du die get-Methode aufrufst. Du musst die Klasse casten:
        te = (Teilnehmer)(te.get(i));
        Oder wenn du unterschiedliche Klassen im Vektor speicherst kannst du das mit dem instanceof Operator abfragen, ob der Typecast möglich ist.

        Gruß

        Peter [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!