Zum Inhalt springen

Verständnissproblem


dic

Empfohlene Beiträge

Hallo zusammen.

Im Anhang befindet sich eine Aufgabe, bei der es ersteinmal um die Datei Transaktionsarray.java geht. Diese soll zu einer funktionsfähigen Klasse vervollständigt werden, die ein sich automatische vergrößerndes Array darstellt. Getestet werden kann sie durch die Datei TransaktionsarrayTest. In dieser wiederum habe ich meine Gedanken in Kommentaren beschrieben. Mir geht es nun darum, ob das was ich kommentiert habe so richtig ist und... naja um weitere Tipps, dass ich die Klasse erstellen kann. Freue mich auf hilfreiche Antworten.

Viele Grüße,

dicra

v2.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist alles was wir bekommen haben und es wurde auch nicht viel mehr dazu gesagt, als "Machen Sie sich damit vertraut, indem Sie den Javadoc sich anschauen."

Das Problem was ich halt habe, ist dass ich ja mit junit die Klasse testen muss. Dazu wäre es ja nicht schlecht zu wissen was da genau los ist. Meine Gedanken dazu eben im eingefügten Kommentar. dicra

Link zu diesem Kommentar
Auf anderen Seiten teilen

Welches Problem hast Du?

Du hast Code und Du sollst diese via JUnit testen !? => Dann tu das doch

Zu Deinem ersten Posting:

Diese soll zu einer funktionsfähigen Klasse vervollständigt werden, die ein sich automatische vergrößerndes Array darstellt.

habe ich Dir geschrieben, nimm' eine ArrayList, LinkedList, Vector (o.ä.) und führe das, was gefordert ist in Deiner Klasse durch. Du sollst diese Klasse:

package bank;


/* TODO: Javadoc-Kommentare */

public class Transaktionsarray  {


    public int anzahl() {

        /* TODO: Ergaenzen */

        return 0;

    }


    public Transaktion element(int i) {

        /* TODO: Ergaenzen */   

        return null;

    }


    public void speichere(Transaktion transaktion) {

        /* TODO: Ergaenzen */

    }


    public Transaktion umgekehrt(int i) {

        /* TODO: Ergaenzen */

        return null;

    }

}

passend erweitern. Ob Dein JUnit Test erfolgreich ist oder nicht, sinnvoll ist oder nicht, kann man doch nicht sagen, denn Deine Klasse, die getestet werden soll, ist leer.

Ich möchte mich jetzt nicht hinsetzen und für Dich mir Gedanken machen, ob Deine Testklasse gut für Deine zu entwickelnde Klasse ist. Darüber musst Du Dir schon selbst Gedanken machen. Es ist Deine Aufgabe eine Klasse zu implementieren und Dir dazu dann Tests zu überlegen, andersherum macht das nicht so viel Sinn

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Hmm... also irgendwie komme ich nicht klar damit.

Den BankTest habe ich relativ schnell hinbekommen, aber das mit dem Transakktionsarray will irgendwie nicht klappen. Wahrscheinlich fehlt mir da das Verständnis an sich was da passiert, bin halt ein anfänger. ;)

Daher wäre es nett, wenn sich wer die Muse nehmen könnte und sich ein wenig damit vertraut macht. :)

Ich schreibe einfach mal drauflos und fange ganz vorne bei der Main.java an.

* Ein neues Bank-Objekt wird erstellt.

* Die Bank erhält neue Konten.

-> Ein Konto-Objekt beinhaltet den Namen der Bank und die Kontonummer.

* Für b wird barEinzahlen(int nr, double betrag) aufgerufen, die ist in Bank.java und besorgt sich die Kontonummer. In Konto.java gehts mit barEinzahlen(double betrag) weiter. Und nun eine Frage. Dort steht:

    void barEinzahlen(double betrag) {

        pruefeObBetragPositiv(betrag);

        kontostand += betrag;

        transaktionen.speichere(Transaktion.barEingezahlt(betrag));

    }
(Transaktion.barEingezahlt(betrag)) bedeutet, dass ein Transaktionsobjekt erstellt wird und der Methode speichere übergeben wird. Wofür steht denn jetzt vor "speichere" das "transaktionen"? Ist das eine Klassenvariable? Es stammt ja aus der Klasse Konto.java und ist deklariert als:
    /**

     * Array aller Kontobewegungen.

     */

    private Transaktionsarray transaktionen = new Transaktionsarray();
Nun wird hier auch ein Objekt erstellt. Dieser Aufruf sucht doch dann in der Klasse Transaktionsarray nach eine Konstruktor, richtig? Der fehlt und dort müsste dann ein Array erstellt werden, in dem die Transaktionen gespeichert werden. Das sieht bei mir so aus:
	private int anz;

	private Transaktionsarray[] transakt;


	/**

	 * Konstruktor, der fuer jedes Konto ein Array anlegt.

	 */

	public Transaktionsarray(){

		/* Für jedes Konto-Objekt wird ein Transaktionsarray angelegt.

		 * ein Objekt vom Typ Transaktionsarray

		 */

		transakt = new Transaktionsarray[anzahl()];

		anz=0;

	}
Nach meinem Verständnis gibt es nun ein Array. Dort sollen nun die Transaktionen gespeichert werden. Also:
    public void speichere(Transaktion transaktion) {

        /* TODO: Ergaenzen */

    	transakt[anzahl()]=transaktion;

    }
anzahl() -ebenfalls aus der Klasse- besorgt sich beim Konstruktoraufruf die Anzahl der Elemente.
	/**

	 * Zaehlt die Anzahl an Transaktionen.

	 * 

	 * @return anzahl

	 */

    public int anzahl() {

        /* TODO: Ergaenzen */

    	return anz++;

    }
Nochmal zum "speichere". Dort steht
transakt[anzahl()]=transaktion;
Hierbei sagt Eclipse, dass "cannot convert from Transaktion to Transaktionsarray". Ein Cast erlaubt es aber auch nicht, der bei mir so aussah.
transakt[anzahl()]=(Transaktionsarray)transaktion;

Hoffe mir kann geholfen werden und bedanke mich schon einmal für die Mühe.

Viele Grüße,

dicra

Anhang: Mein aktueller Stand...

src.zip

Bearbeitet von dic
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...