Wie Methoden aufrufen? Java BlueJ

Ich habe keine Ahnung, wovon Du redest. Ich kenne BlueJ nicht.

Ich dachte, Du wolltest Die genannte Aufgabe lösen? Es war Post #32, nicht #37.
 
Was ist denn nun das Problem? Die Aufgabe mit der Methode "dateiAusgeben" klingt ja extrem ähnlich und die konnest du ja lösen.

Übrigens tust du dir selbst (und Anderen) keine Gefallen, wenn du wild durch die Aufgaben springst.
 
public void dateiAusgeben(int index)
{
if(5 >= 0 && 5 < dateien.size()) {
String dateiname = dateien.get(5);
System.out.println(dateiname);
}
}

Ist das die Lösung?^^
 
HerrDrachen schrieb:
Aber wenn ich auf "dateiAusgeben" klicke, dann kann ich eingeben welche Datei (Index) ich ausgeben will.
Das funktioniert.
Warum hast du die Methode jetzt kaputt gemacht, so dass sie immer nur das 6. Element ausgibt?
Und bezog sich die eigentliche Aufgabe nicht auf eine "Sammlung mit dem Namen elemente"? Für die Lösung muss man schon die Aufgabenstellung kennen. Irgendwie vermischst du verschiedene Aufgaben.
Und was soll das 5 >= 0? Iditotentest für den Compiler?
Und bitte in Zukunft Codeboxen benutzen, ist besser lesbar.
 
Edit: aufgabe nicht gelesen
 
Zuletzt bearbeitet:
HerrDrachen schrieb:
Code:
public void dateiAusgeben(int index)
    {
        if(5 >= 0 && 5 < dateien.size()) {
            String dateiname = dateien.get(5);
            System.out.println(dateiname);
        }
    }

Ist das die Lösung?^^

Nein. Hier noch mal die Aufgabe: "Schreiben Sie eine Methode, die mithilfe der Methode get das fünfte Objekt in einer Sammlung mit dem Namen elemente liefert."

Nicht das die Aufgabe besonders sinnvoll wäre, aber wenn man noch Probleme hat, eine solche Beschreibung in Code zu übersetzen, lohnt es sich wohl sich damit zu beschäftigen.

Fangen wir mal an: Warum hast Du der Methode einen Parameter hinzugefügt?
 
@soares: Die Methode hatte bereits einen Parameter, da sie aus einer anderen Aufgabe stammt.
 
@Darlis: Mag ja sein, aber die Aufgabe verlangt, eine neue Methode zu schreiben. In #58 sah es ja auch schon mal anders aus.
 
Hallo,

ein neues Problem:

Code:
/**
* Speichert Details über Vereinsmitgliedschaften.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
import java.util.ArrayList;

public class Verein
{
    private ArrayList<String> dateien;
                  
    /**
     * Konstruktor für Objekte der Klasse Verein
     */
    public Verein()
    {
        dateien = new ArrayList<String>();
      
    }

    /**
     * Füge ein neues Mitglied in die Mitgliederliste ein.
     * @param mitglied Infos über das einzufügende Mitglied.
     */
    public void beitreten(Mitgliedschaft mitglied)
    {
    }

    /**
     * @return die Anzahl der Mitglieder (Mitgliedschaft-Objekte)
     *         in diesem Verein.
     */
    public int anzahlMitglieder()
    {
        return dateien.size();
    }
}


Aufgabe: Vervollständigen Sie die Methode anzahlMitglieder so, dass
sie die aktuelle Größe der Sammlung liefert.
Ist meine Lösung richtig?

Und 2te Aufgabe: Methode beitreten vervollständigen

Es wird ein Mitgliedschaft-Objekt in ein Verein-Objekt eingetragen.
Prüfen Sie jedes Mal, wenn sie ein Objekt eintragen, mit der Methode
anzahlMitglieder, ob die Methode beitreten wirklich in die Sammlung einfügt und ob die Methode anzahlMitglieder selbst das richtige Ergebnis liefert.

Wenn ich die Methode beitreten öffne und new Mitgliedschaft("Mitgliedsname...", Monat, Jahr) eingebe dann wird KEIN richtiges Ergebnis von anzahlMitglieder angezeigt. Die methode beitreten liefert dann den Wert o statt 1.
 
Hast du jetzt die anderen Aufgaben heimlich still und leise gelöst oder hast du aufgegeben?

HerrDrachen schrieb:
Ist meine Lösung richtig?
Ich frag einfach mal blöd: Hast du die Methode auch mal selbst getestet?

HerrDrachen schrieb:
Wenn ich die Methode beitreten öffne und new Mitgliedschaft("Mitgliedsname...", Monat, Jahr) eingebe dann wird KEIN richtiges Ergebnis von anzahlMitglieder angezeigt. Die methode beitreten liefert dann den Wert o statt 1.
Klar, oder auf welche automagische Weise hat du gedacht sollte der Eintrag in der Liste landen?
 
Hast du jetzt die anderen Aufgaben heimlich still und leise gelöst oder hast du aufgegeben?

Ich habe die oben lang diskutierte Aufgabe aufgegeben.

Ich frag einfach mal blöd: Hast du die Methode auch mal selbst getestet?

Ja.

Klar, oder auf welche automagische Weise hat du gedacht sollte der Eintrag in der Liste landen?

Ja, schon klar, dass die Anzahl der Mitglieder nicht gezählt wird.
Aber wie schreibe ich die Methode beitreten so, dass die Anzahl der Mitglieder gezählt wird?
 
HerrDrachen schrieb:
Aufgabe: Vervollständigen Sie die Methode anzahlMitglieder so, dass
sie die aktuelle Größe der Sammlung liefert.
Ist meine Lösung richtig?

Fast.

HerrDrachen schrieb:
Wenn ich die Methode beitreten öffne und new Mitgliedschaft("Mitgliedsname...", Monat, Jahr) eingebe dann wird KEIN richtiges Ergebnis von anzahlMitglieder angezeigt. Die methode beitreten liefert dann den Wert o statt

Hast Du etwas anderes erwartet? Wenn ja, warum?
 
Hast Du etwas anderes erwartet? Wenn ja, warum?

Nein, ich habe nichts anderes erwartet.
Ich überlege grad nur, wie ich die Methode beitreten schreiben muss.
Ich glaube ich habe viele Fehler aufeinmal gemacht^^
 
HerrDrachen schrieb:
Ich überlege grad nur, wie ich die Methode beitreten schreiben muss.
Ich glaube ich habe viele Fehler aufeinmal gemacht^^

Momentan gibt es nur einen Fehler. Aber den wird der Compiler früher oder später monieren.
 
Code:
/**
 * Speichert Details über Vereinsmitgliedschaften.
 * 
 * @author (Ihr Name) 
 * @version (eine Versionsnummer oder ein Datum)
 */
import java.util.ArrayList;

public class Verein
{
    private ArrayList<Mitgliedschaft> mitglied;
                    
    /**
     * Konstruktor für Objekte der Klasse Verein
     */
    public Verein()
    {
         mitglied = new ArrayList<Mitgliedschaft>();
        
    }

    /**
     * Füge ein neues Mitglied in die Mitgliederliste ein.
     * @param mitglied Infos über das einzufügende Mitglied.
     */
    public void beitreten(Mitgliedschaft mitglied)
    {
        mitglied.add(mitglied);
    }

    /**
     * @return die Anzahl der Mitglieder (Mitgliedschaft-Objekte)
     *         in diesem Verein.
     */
    public int anzahlMitglieder()
    {
        return mitglied.size();
    }
}

Ich habe das jetzt verbessert!
Aber bei mitglied.add(mitglied); kommt leider immernoch eine Fehlermeldung!
 
HerrDrachen schrieb:
Ich habe die oben lang diskutierte Aufgabe aufgegeben.
Es macht dann aber keinen Sinn, so einfache Aufgaben zu überspringen um sich an komplizierteren zu versuchen. Dann gibst du nur noch schneller auf.

HerrDrachen schrieb:
Ich überlege grad nur, wie ich die Methode beitreten schreiben muss.
Dir wurde ja schon Pseudocode vorgeschlagen.

HerrDrachen schrieb:
kommt leider immernoch eine Fehlermeldung!
Ach ja? Eine BufferunderflowException vielleicht?
 
Das Objekt hinter der Variable mitglied (bzw. dessen Klasse) hat offenbar keine Methode "add(Mitgliedschaft)". Preisfrage: Was für ein Typ ist "mitglied"?
 
HerrDrachen schrieb:
Nein, cannot find symbol - method.add(Mitgliedschaft)

Der Code ist fehlerhaft. Wenn Du Dir die Zeile genau anschaust, kommst Du vielleicht selbst darauf.

Um die Fehlermeldungen zu verstehen, bedarf es mitunter etwas Wissen. Wobei hier BlueJ keinen guten Job zu machen scheint.
 
Zurück
Oben