Erste Schritte Konto darf nicht überzogen werden...

mayra-leyn

Mitglied
Ich weiß irgendwie gerade nicht, wie ich umsetzten soll, dass das Konto nicht überzogen werden darf.
Könntet ihr mir das kurz sagen. Ansonsten dürfte die Datei funktionieren...
Vielen Dank!
Java:
public class Konto {
	String kontoinhaber;
	int kontonummer;
	double kontostand;
	
	public Konto(String kontoinhaber, int kontonummer){
		this.kontoinhaber=kontoinhaber;
		this.kontonummer=kontonummer;
		kontostand=0.00;
	}
	
		public void abheben(double x){
			kontostand=kontostand-x;
	}
	public void einzahlen(double x){
		kontostand=kontostand+x;
	}
	public String toString(){
		String result = "Name des Kontoinhabers: "+kontoinhaber+" Kontonummer: "+kontonummer+" Kontostand: "+kontostand;
    return result;
	}	
}
 

Schandro

Top Contributor
Was soll den passieren wenn wenn mehr abgehoben wird als Geld auf dem Konto ist? Soll der Kontostand einfach nur auf 0 gesetzt werden? Soll eine Exception geschmissen werden? ...........
 

Helgon

Bekanntes Mitglied
Java:
public void abheben(double x){
    if(x <= kontostand)
        kontostand=kontostand-x;
}
 

mayra-leyn

Mitglied
Ja, jetzt hab ichs kappiert! Vielen Dank!

Hab jetzt aber zur gleichen Aufgabe noch ein Problem. Also nochmal die Aufgabenstellung:

In dieser Aufgabe implementieren Sie Bankkonten. Das Programm besteht aus Unter- klassen GiroKonto
und SparKonto, die von einer Oberklasse Konto erben.
Unteraufgabe 1
Implementieren Sie ein Klasse Konto, die Bankkonten repräsentiert. Ein Bankkonto be- sitzt die folgenden
Attribute:
• Name des Kontoinhabers
• Kontonummer
• Kontostand
Der Zugriff auf die Attribute muss außerhalb der Klasse möglich sein. Außerdem verfügt ein Bankkonto
über folgendes Verhalten:
• Einen parametrisierten Konstruktor zur Initialisierung des Inhabers und der Kon- tonummer. Der
Kontostand wird mit 0 initialisiert.
• Je eine Methode, die das Einzahlen und Abheben eines positiven Betrags realisie- ren. Das Konto
darf nicht überzogen werden.
• Eine Methode public String toString(), die alle Informationen über das Bank- konto zurückliefert.

Meine Datei:
Java:
public class Konto {
	String kontoinhaber;
	int kontonummer;
	double kontostand;
	
	public Konto(String kontoinhaber, int kontonummer, double kontostand){
		this.kontoinhaber=kontoinhaber;
		this.kontonummer=kontonummer;
		kontostand=0.00;
	}
	
	public void abheben(double x){
		if(x <= kontostand)
        kontostand=kontostand-x;
	}
	public void einzahlen(double x){
		kontostand=kontostand+x;
	}
	public String toString(){
		String result = "Name des Kontoinhabers: "+kontoinhaber+", Kontonummer: "+kontonummer+", Kontostand: "+kontostand+" Euro";
    return result;
	}	
}

Unteraufgabe 2
Implementieren Sie ein Klasse GiroKonto, die alle Eigenschaften und Methoden von der Klasse Konto
erbt. Ein Girokonto besitzt zusätzlich ein Attribut dispo für den Dispositionskredit. Stellen Sie sicher,
dass
• auf das Attribut dispo nur innerhalb der Klasse zugegriffen werden kann,
• das Attribut dispo stets kleiner oder gleich 0 ist,
• das Attribut dispo unmittelbar nach Initialisierung den Wert 0 besitzt,
• beim Abheben der durch dispo festgelegte Verfügungsrahmen nicht übeschritten wird. Überschreiben
Sie die entsprechende Methode der Klasse Konto.
Außerdem verfügt ein Girokonto über folgendes Verhalten:
• Eine Methode, die das Überweisen eines positiven Betrags auf ein anderes Konto realisiert.
• Eine Getter/Setter-Methode für das Attribut dispo.
• Eine Methode public String toString(), die alle Informationen über das Giro- konto zurückliefert.
Diese Methode ruft die gleichnamige Methode der Oberklasse auf.

Meine Datei
Java:
public class Girokonto extends Konto {
	private double dispo=0.00;
	public Girokonto(String kontoinhaber, int kontonummer, double kontostand){
		super(kontoinhaber, kontonummer, kontostand);
	}
	public void überweisen(double y){
		if(y <= kontostand+dispo)
        kontostand=kontostand-y;
	}
	double getDispo(){
		return this.dispo;
	}
	void setDispo(double dispo){
		this.dispo=dispo;
	}
	public String toString(){
		String result = super.toString()+" und der Dipo betraegt: "+dispo+" Euro. ";
    return result;
	}	
}

Unteraufgabe 3
Implementieren Sie ein Klasse SparKonto, die alle Eigenschaften und Methoden von der Klasse Konto
erbt. Ein Sparkonto besitzt zusätzlich ein Attribut zinssatz. Stellen Sie sicher, dass
• auf das Attribut zinssatz nur innerhalb der Klasse zugegriffen werden kann,
• das Attribut zinssatz stets Werte aus dem Intervall [0, 1] annehmen darf und unmittelbar nach
Initialisierung den Wert 0.05 besitzt.
Außerdem verfügt ein Sparkonto über folgendes Verhalten:
• Eine Methode, die das Verzinsen des Sparguthabens gemäß der folgenden Formel realisiert:
kneu = (1 + p)kalt
wobei p der Zinssatz, kalt der aktuelle und kneu der neue Kontostand ist.
• Eine Getter/Setter-Methode für das Attribut zinssatz.
• Eine Methode public String toString(), die alle Informationen über das Spar- konto zurückliefert.
Diese Methode ruft die gleichnamige Methode der Oberklasse auf.

Meine Datei
Java:
public class SparKonto extends Konto {
	private double zinssatz=0.05;
	public SparKonto(String kontoinhaber, int kontonummer, double kontostand){
		super(kontoinhaber, kontonummer, kontostand);
	}
	
	public void verzinsen(double kontostand){
		if (zinssatz <= 1.0 && zinssatz >= 0.0)
        kontostand=(1+zinssatz)*kontostand;
	}
	double getZinssatz(){
		return this.zinssatz;
	}
	void setZinssatz(double zinssatz){
		this.zinssatz=zinssatz;
	}
	public String toString(){
		String result = super.toString()+" und der Zinssatz betraegt: "+zinssatz+". ";
    return result;
	}	
}

Unteraufgabe 4
Implementieren Sie ein Klasse TestKonto. Die Klasse besteht aus einer main-Methode, die folgendes
Szenario realisiert:
• Erzeugen Sie einen Array, der mindestens 2 Giro- und 2 Sparkonten enthält.
• Rufen Sie jede Methode von Girokonto und Sparkonto mindestens einmal auf.

Meine Datei
Java:
public class TestKonto {
	public static void main (String [] args){
		Konto[] konten=new Konto[4];
		konten[0]=new Girokonto("Max Mustermann",123456789,19.99);
		konten[1]=new Girokonto("Mia Mustermann",234567891,19999.95);
		konten[2]=new SparKonto("Lena Maier",345678912,50000.00);
		konten[3]=new SparKonto("Peter Maier",456789123,20000.00);
		
		
		for (int i = 0 ; i <= 3; i++){
			konten[i].abheben(20.0);
			konten[i].einzahlen(30.0);
			
			if(konten[i] instanceof Girokonto) {
				Girokonto a = (Girokonto) konten[i];
				a.überweisen(25.0);
				a.setDispo(2000.0);
				System.out.print(a.toString());
			} 
			else if(konten[i] instanceof SparKonto) {
				SparKonto b = (SparKonto) konten[i];
				b.setZinssatz(0.06);
				b.verzinsen(3000.0);
				System.out.print(b.toString());
			}
		}
	}
}

So, das Problem ist nun aber, dass ich falsche Werte für den Kontostand erhalte. Ich versteh aber nicht, warum das so ist.

Der Code, der rauskommt, lautet:


Name des Kontoinhabers: Max Mustermann, Kontonummer: 123456789, Kontostand: 5.0
Euro und der Dipo betraegt: 2000.0 Euro. Name des Kontoinhabers: Mia Mustermann,
Kontonummer: 234567891, Kontostand: 5.0 Euro und der Dipo betraegt: 2000.0 Euro
. Name des Kontoinhabers: Lena Maier, Kontonummer: 345678912, Kontostand: 30.0 E
uro und der Zinssatz betraegt: 0.06. Name des Kontoinhabers: Peter Maier, Konton
ummer: 456789123, Kontostand: 30.0 Euro und der Zinssatz betraegt: 0.06.


Vielen Dank!!
 

Camill

Bekanntes Mitglied
Also da sind noch einige Fehler, zu Aufgabe 1:
Der Zugriff auf die Attribute muss außerhalb der Klasse möglich sein. Außerdem verfügt ein Bankkonto
über folgendes Verhalten:
• Einen parametrisierten Konstruktor zur Initialisierung des Inhabers und der Kon- tonummer. Der
Kontostand wird mit 0 initialisiert.
- Getter Methoden fehlen noch
- Parameter 'kontostand' im Konstruktor wird nicht benötigt da dieser beim anlegen immer 0 ist
[JAVA=6]
public Konto(String kontoinhaber, int kontonummer, double kontostand){
[/code]
[JAVA=9]
kontostand=0.00;
[/code]

Zu Aufgabe 2:
• das Attribut dispo stets kleiner oder gleich 0 ist,
• beim Abheben der durch dispo festgelegte Verfügungsrahmen nicht übeschritten wird. Überschreiben
Sie die entsprechende Methode der Klasse Konto.
- ersten Punkt versteh ich nicht :noe:
- beim zweiten Punkt soll die Methode 'abheben' der Klasse Konto überschrieben werden

Außerdem verfügt ein Girokonto über folgendes Verhalten:
• Eine Methode, die das Überweisen eines positiven Betrags auf ein anderes Konto realisiert.
[JAVA=6]public void abheben(double x) {[/code]
Und wohin geht das Geld? -> weiterer Parameter Kontonummer wird benötigt

Zu Aufgabe 3:
• Eine Methode, die das Verzinsen des Sparguthabens gemäß der folgenden Formel realisiert:
kneu = (1 + p)kalt
wobei p der Zinssatz, kalt der aktuelle und kneu der neue Kontostand ist.
• Eine Getter/Setter-Methode für das Attribut zinssatz.
- die Methode 'verzinsen' benötigt imho kein Parameter
- Getter-Methode evt. public

So...die Testapplikation muss dann natürlich dementsprechend geändert werden ;)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Konto- auszahlen Java Basics - Anfänger-Themen 9
H Konto Java Basics - Anfänger-Themen 4
N The method setSaldo(double) in the type Konto is not applicable for the arguments (int, int) Java Basics - Anfänger-Themen 2
Y Vererbung Konto - Anfangsprobleme Java Basics - Anfänger-Themen 7
F Methoden Bitte Helft mir meinen Fehler zu finden. Möchte in diesem Bankenprogramm durch die Konsoleneingabe auswählen welches Konto reduziert und welches erhö Java Basics - Anfänger-Themen 17
L PROBLEM! "Bug" bei Konto-Projekt! Java Basics - Anfänger-Themen 7
S Implementierung der Klasse Konto und Nutzung bereits vorhandener Klassen Java Basics - Anfänger-Themen 7
G Konto-Historie speichern/lesen Java Basics - Anfänger-Themen 4
F Klassen Konto Programm Java Basics - Anfänger-Themen 11
S Bank-Konto Aufgabe Java Basics - Anfänger-Themen 2
L Rekursion - Konto mit Spareinlage Java Basics - Anfänger-Themen 11
A Konto anlegen Java Basics - Anfänger-Themen 3
M Konto-Programm Java Basics - Anfänger-Themen 9
K Konto Programm Java Basics - Anfänger-Themen 3
Spin Konto (großes Projekt für anfänger in Java ^^) Java Basics - Anfänger-Themen 7
E Konto ins Array speichern! Java Basics - Anfänger-Themen 4
E Konto! Java Basics - Anfänger-Themen 9
T In Konsole darf nichts falsches eingetippt werden?! Java Basics - Anfänger-Themen 7
W Interpreter-Fehler boolean nur eins darf wahr sein Java Basics - Anfänger-Themen 11
E Erste Schritte <? super Unterklasse> Return-Typ darf nicht vom Wildcard-Typ sein Java Basics - Anfänger-Themen 5
W Darf man den Übergabeparameter in einer Methode nicht verwenden? Java Basics - Anfänger-Themen 2
J Mehrere Zufallszahlen erzeugen, aber keine darf doppelt erzeugt werden - Wie? Java Basics - Anfänger-Themen 5
S Erste Schritte Wo steht eigentlich das ein jar keine andere jars enthalten darf? Java Basics - Anfänger-Themen 19
A Zeichen darf nur 3x hintereinander vorkommen Java Basics - Anfänger-Themen 6
R (Math.random()*49) zahl darf aber nur einmal gezogen werden Java Basics - Anfänger-Themen 11
R Textfeld "sperren", Text darf nicht eingegeben werden - wie realisierbar? Java Basics - Anfänger-Themen 2
S Attribute darf nur Werte vom Intervall annehmen Java Basics - Anfänger-Themen 5
L JFrame darf nicht mehrmals geöffnet werden , wie? Java Basics - Anfänger-Themen 4
S JTextfield darf nur Zahlen annehmen Java Basics - Anfänger-Themen 5
M Aus wieviel Klassen darf in Java eine (Programm)besitzen? Java Basics - Anfänger-Themen 21
J Wie lang darf ein String sein Java Basics - Anfänger-Themen 5
M Applikation darf nicht mehrfach gestartet werden Java Basics - Anfänger-Themen 2
M Javaprogramm darf nur einmal gestartet werden Java Basics - Anfänger-Themen 3
L String darf nur spezielle Zeichen enthalten Java Basics - Anfänger-Themen 6
F Eingabe darf nur 1 oder 0 sein. Meine Lösung macht Probleme. Java Basics - Anfänger-Themen 8
P Methode funzt nicht => Zufallszahl darf nicht 2x erschein Java Basics - Anfänger-Themen 4
D Welchen Namen darf ein Konstruktor haben? Java Basics - Anfänger-Themen 6
E MVC - Was darf View Java Basics - Anfänger-Themen 15
C NullPointerException, aber nichts darf null sein? Java Basics - Anfänger-Themen 7
W Sieht jemand was, was ich nicht sehe...? (Debugging) Java Basics - Anfänger-Themen 10
A Signierte Exe Datei funktioniert nicht mehr Java Basics - Anfänger-Themen 1
A Signierte Exe Datei funktioniert nicht mehr Java Basics - Anfänger-Themen 3
C my_table.setRowSelectionAllowed(true) funktioniert nicht; Java Basics - Anfänger-Themen 0
B Warum funktioniert die Lösung von CodeGym aber meine nicht? Java Basics - Anfänger-Themen 3
P Wo NUR (!) JRE v18 oder v21 herunterladen? Also nicht volles JDK Java Basics - Anfänger-Themen 1
J shuffle cards wird nicht ausgeführt. Java Basics - Anfänger-Themen 2
J JTextField -> CaretPos bei SelectionStart() setzten nicht bei SelectionEnd() Java Basics - Anfänger-Themen 20
W Java-PRogramm liest als EXE-File Nicht USB, jedoch aus NetBeans Java Basics - Anfänger-Themen 45
I Webservice funktioniert nicht Java Basics - Anfänger-Themen 5
C Abbruch einer Schleife mit break, meine Übung funktioniert nicht richtig Java Basics - Anfänger-Themen 4
SarahXyy Ergebnisse stimmen nicht überein? Java Basics - Anfänger-Themen 11
thomas55 Erste Schritte Modul läuft in IntelliJ, nicht in NetBeans Java Basics - Anfänger-Themen 11
G Nicht ausführbares JAR, externe jars mit einbinden Java Basics - Anfänger-Themen 7
S Erstes Programm: Hallo Welt funktioniert nicht. Java Basics - Anfänger-Themen 3
O Obfuscateter Code lässt sich nicht ausführen? Java Basics - Anfänger-Themen 7
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
G Regex greift nicht richtig Java Basics - Anfänger-Themen 4
G JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
G JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
G JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
G .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
missy72 Erste Schritte (nicht) Deterministischer endlicher Automat Java Basics - Anfänger-Themen 9
T Getter/Setter - wie sieht ein Setter aus? Und wie nicht? Java Basics - Anfänger-Themen 34
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
P Netbeans installation geht nicht Java Basics - Anfänger-Themen 26
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T scanner nicht erkannt Java Basics - Anfänger-Themen 3
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben