D
David Nienhaus
Gast
Hallo liebe Leute,
im Rahmen einer Info Praktikumsaufgabe ging es darum ein Programm zu schreiben welches ein einfaches Bankkonto simuliert. Das Grundprogramm gilt es nun um einige Funktionen zu erweitern. Leider fehlt mir hierfür jeglicher Ansatz und ich hoffe ich könnt mir weiter helfen.
Zunächst einmal eine Kurzebeschreibung des Ausgangsprogrammes:
Das Program besteht aus Zwei Klassen ( Konto und Inhaber )
Jedem Konto ist ein Inhaber(Name, Vorname, Adresse) zugewiesen.
Jedes Konto hat im wesentlichen eine Kontonummer, einen Kontostand und einen Inhaber.
Die Erweiterungsaufgabe lautet nun wie folgt:
Ergänzen Sie die Funktionalität eines Kontoauszugs (eigene Methode). Jede Kontobewegung soll um ein eingebbares Datum erweitert werden. Der Benutzer soll für den Kontoauszug optional ein Datum (Klasse Calendar) angeben können, von dem alle Kontobewegungen bis jetzt ausgegeben werden. Gibt er kein Datum an, sollen alle Kontobewegungen der letzten dreißig Tage ausgegeben werden. Die Ausgabe soll schön formatiert auf der Konsole erfolgen.
Verstehe ich es richtig, dass mit der Klase Calendar die bereits bestehende Klasse aus der Java Klassenbibliothek gemeint ist? Leider fehlt mir auch wenn dies der Fall ist jeglicher Ansatz, wie ich das ganze aufbauen soll. Kann mir jemand auf die Sprünge helfen?
Hier noch der Code:
im Rahmen einer Info Praktikumsaufgabe ging es darum ein Programm zu schreiben welches ein einfaches Bankkonto simuliert. Das Grundprogramm gilt es nun um einige Funktionen zu erweitern. Leider fehlt mir hierfür jeglicher Ansatz und ich hoffe ich könnt mir weiter helfen.
Zunächst einmal eine Kurzebeschreibung des Ausgangsprogrammes:
Das Program besteht aus Zwei Klassen ( Konto und Inhaber )
Jedem Konto ist ein Inhaber(Name, Vorname, Adresse) zugewiesen.
Jedes Konto hat im wesentlichen eine Kontonummer, einen Kontostand und einen Inhaber.
Die Erweiterungsaufgabe lautet nun wie folgt:
Ergänzen Sie die Funktionalität eines Kontoauszugs (eigene Methode). Jede Kontobewegung soll um ein eingebbares Datum erweitert werden. Der Benutzer soll für den Kontoauszug optional ein Datum (Klasse Calendar) angeben können, von dem alle Kontobewegungen bis jetzt ausgegeben werden. Gibt er kein Datum an, sollen alle Kontobewegungen der letzten dreißig Tage ausgegeben werden. Die Ausgabe soll schön formatiert auf der Konsole erfolgen.
Verstehe ich es richtig, dass mit der Klase Calendar die bereits bestehende Klasse aus der Java Klassenbibliothek gemeint ist? Leider fehlt mir auch wenn dies der Fall ist jeglicher Ansatz, wie ich das ganze aufbauen soll. Kann mir jemand auf die Sprünge helfen?
Hier noch der Code:
Code:
/**
* Ein einfaches Modell eines Kontos.
* Ein Exemplar dieser Klasse enthält einen Kontostand und eine Kontonummer.
* Außerdem wird jedem Konto ein Inhaber zugeordnet.
* Der Kontostand lässt sich durch Abbuchungen, Einzahlungen und Überweisungen verändern.
* @author D.N.
* @version 24.04.2018
*/
public class Konto
{
// aktueller Kontostand, kontoNummer, Inhaber, Dispogrenze,
private int kontoStand;
private int kontoNummer;
private int dispoGrenze;
private Inhaber inhaber;
static int nummer = 0;
// verschiedene Konstruktoren
/**
* Erzeugt ein neues Konto mit
* einer Kontonummer, einem Kontostand, einer Dispogrenze und einem Inhaber.
* @param neuerInhaber der Inhaber des Kontos.
*/
Konto(Inhaber neuerInhaber) {
kontoStand = 0;
inhaber = neuerInhaber;
dispoGrenze = -500;
nummer++;
kontoNummer = nummer;
}
/**
* Erzeugt ein neues Konto mit einer Kontonummer, einem Kontostand,
* einer Dispogrenze und einem Inhaber.
* Führt zusätzlich eine Ersteinzahung aus.
* @param neueNummer die Nummer des Kontos.
* @param neuerInhaber der Inhaber des Kontos.
* @param ersteinzahlung der Betrag der Ersteinzahlung.
* @param dispoGrenze maximaler Dispobetrag.
*/
Konto(Inhaber neuerInhaber, int ersteinzahlung) {
nummer++;
kontoNummer = nummer;
kontoStand = ersteinzahlung;
inhaber = neuerInhaber;
dispoGrenze = -500;
}
/**
* Erzeugt ein neues Konto mit einer Kontonummer, einem Kontostand,
* einer Dispogrenze und einem Inhaber.
* 60 Euro werden als Freundschaftswerbeprämie auf ein gewähltes
* Konto eingezahlt.
* @param neueNummer die Nummer des Kontos.
* @param neuerInhaber der Inhaber des Kontos.
* @param werbeFreund das Konto des Freundes,der die Werbeprämie erhalten soll.
* @param dispoGrenze maximaler Dispobetrag.
*/
Konto(Inhaber neuerInhaber, Konto werbeFreund) {
nummer++;
kontoNummer = nummer;
kontoStand = 0;
inhaber = neuerInhaber;
werbeFreund.einzahlen(60);
dispoGrenze = -500;
}
/**
*Gib den aktuellen Kontostand zurück
*/
public int getKontostand()
{
return kontoStand;
}
/**
* Gib an wer der Inhaber des Kontos ist
*/
public Inhaber getInhaber()
{
return inhaber;
}
/**
* Zahle gewünschten Betrag auf das Konto ein
* @param betrag der einzuzahlende Betrag.
*/
public void einzahlen(int betrag)
{
kontoStand += betrag;
}
/**
* Hebe gewünschten Betrag von dem Konto ab, falls genug Geld auf dem Konto.
* Bei einem negativem Betrag oder beim Überschreiten der Dispogrenze
* gib eine Fehlermeldung aus
* @param betrag der abzuhebende Betrag.
*/
public void abheben(int betrag)
{
if (betrag >= 0 && kontoStand - betrag >= dispoGrenze)
{
kontoStand -= betrag;
}
else
{
System.out.println("nicht genug Geld auf dem Konto");
}
}
/**
* Hebe gewünschten Betrag von dem konto ab, falls genug Geld auf dem Konto,
* und zahle diesen auf ein gewünschtes Konto ein.
* Bei einem negativem Betrag oder beim Überschreiten der Dispogrenze
* gib eine Fehlermeldung aus.
* @param begünstigter das Konto des Begünstigten der Überweisung.
* @param betrag der Betrag welcher von dem Konto des Überweisenden abgehoben und auf das Konto des Begünstigten eingezahlt wird.
*/
public void überweisen(Konto begünstigter, int betrag)
{
if (betrag >= 0 && kontoStand - betrag >= dispoGrenze)
{
kontoStand -= betrag;
begünstigter.einzahlen(betrag);
}
else
{
System.out.println("nicht genug Geld auf dem Konto");
}
}
}