Methoden

morphi79

Erfahrenes Mitglied
Hallo,

ich bin grad ein bisschen am Arbeiten und hab folgende Aufgabe:

Erstellen Sie eine Klasse Konto, die in einfacher Weise ein Bankkonto beschreibt.

Folgende Anforderungen werden an die Klasse Konto gestellt:

Alle Geldbeträge werden als Werte vom Typ double dargestellt.

?Jedes Konto hat als einzige Eigenschaft einen Kontostand.

?Dem Konstruktor der Klasse soll als Argument der anfängliche Kontostand des

neuen Kontos übergeben werden.

?Die Klasse besitzt zwei Methoden abheben() und einzahlen() zum Abheben

oder Einzahlen bestimmter Geldbeträge. Der abzuhebende bzw. einzuzahlende

Betrag soll der jeweiligen Methode als Argument übergeben werden.

Auszahlungen sollen unabhängig vom Kontostand möglich sein (ein Überziehen

des Kontos wird nicht verhindert).

?Die Klasse soll über eine geeignete get-Methode zum Abfragen des aktuellen

Kontostands verfügen.

?Außer den genannten Methoden soll es keine Möglichkeit geben, von außerhalb

der Klasse den Kontostand eines Kontos auszulesen oder zu verändern.

Erstellen Sie eine zweite Klasse KontoTester, die die Funktionalität von Konto

überprüfen soll. Dazu soll in der main()-Methode der Klasse KontoTester eine

Instanz der Klasse Konto mit einem anfänglichen Kontostand von 500.00 erstellt

werden. Anschließend sollen in dieser Reihenfolge folgende Transaktionen mit

diesem Konto vorgenommen werden:

?Eine Abhebung von 150.00.

?Eine Einzahlung von 11.23.

?Eine Abhebung von 400.00.

?Eine Einzahlung von 222.50.

?Eine Abhebung von 47.62.

Nach dem Erstellen des Kontos sowie nach jeder der Transaktionen soll der

Kontostand ausgegeben werden.






Ich bleibe schon da hängen:

//Klasse Konto
public class Konto {
//Klassenvariable
double kontostand;
// Instanzvariablen
double einzahlungsbetrag;
double auszahlungsbetrag;
//Konstruktor
public Konto(double neuerKontostand){
kontostand=neuerKontostand;}
//Methoden
double einzahlung (double einzahlungsbetrag){

}}

Kann mir jemand helfen?
 
Zuletzt bearbeitet:
Ich denke so müsste es ungefähr gehen:

Code:
//Klasse Konto
public class Konto
{
	//Klassenvariable	
	private double kontostand;

	//Konstruktor
	public Konto(double neuerKontostand)
	{
		kontostand = neuerKontostand;
	}

	//Methoden
	public void einzahlung (double einzahlungsbetrag)
	{
		kontostand = kontostand + einzahlungsbetrag;
	}

	public void abhebung (double abhebungsbetrag)
	{
		kontostand = kontostand - abhebungsbetrag;
	}
	
	public double getKontostand()
	{
		return kontostand;
	}
}

public class KontoTester
{
	public static void main(String args[])
	{
		Konto myKonto = new Konto(500);
		System.out.println("Aktueller Kontostand: " + myKonto.getKontostand());
		
		myKonto.einzahlung(100);
		System.out.println("Aktueller Kontostand: " + myKonto.getKontostand());

		myKonto.abhebung(50);
		System.out.println("Aktueller Kontostand: " + myKonto.getKontostand());
	}
}

Hab es aber nich getestet .. Könnte sein, dass noch nen paar Fehlerchen drin sind.

Gruß Stefan
 
danke schon mal dafür, hättest dir nicht die arbeit machen müssen, wollte eigentlich nur sehen, wo es hängt
 
habs gesehen, bei den methoden, die ich nicht zusammengebracht habe. Bei meinem Beispiel hier haben die Mehtoden kein public void... warum hast du hier public void genommen?
 
.. "void" bedeutet, dass die Methode keinen Rückgabewert hat. Der Kontostand wird ja über die get... Methode abgerufen .. ;)
 
die methoden muessen ja nichts zurueckgeben, abhebung und anzahlung sind das was man setter nennt und die oft ohne rueckgabewert, wie sieht den den beispiel aus? double als rueckgabewert?
 
Code:
 /**
  * @author waterhouse
  */
 public class Konto {
 	// einzige eigenschaft
 	private double kontostand;
 	
 	//defaultkonstruktor muss private sein, sonst kann man
 	//von aussen auch ohne einen kontostand instanzieren
 	private Konto(){
 		//
 	}
 	
 	/**
 	 * geforderter konstruktor
 	 * @param _kontostand
 	 */
 	public Konto(double _kontostand){
 		this.kontostand = _kontostand;
 	}
 	/**
 	 * steht nicht in der aufgabe, aber wir schliessen mal neg. betraege aus
 	 * @param betrag
 	 * @return betrag || 0.0
 	 */
 	public double abheben(double betrag){
 		if (betrag > 0){
 			this.kontostand -= betrag;
 			return betrag;
 		}
 		return 0.0;
 	}
    /**
 	 * siehe abheben()
 	 * @param betrag
 	 */
 	public void einzahlen(double betrag){
 		if (betrag > 0){
 			this.kontostand += betrag;
 		}
 	   
 	}
 	
 	/**
 	 * @return kontostand
 	 */
 	public double getKontostand() {
 		return this.kontostand;
 	}
 }
 
Zurück