(Klassen) einfacher Fehler in einem Java Programm.
Sehr geehrte Community,
Ich habe vor kurze mit der Java Programmierung begonnen
und mir ein Grundlagenbuch gekauft. :rtfm:
Mithilfe dieses Buches habe ich mehrere einfache Programme pogrammiert.
In einem dieser Programme befinden sich ein Fehler der vom Editor nicht angezeigt wierd.
Es erscheint nur eine, für mich unverständliche Fehlermeldung.
Ich habe die Fehlermeldung gekürzt damit sie nicht so lang wierd.
Die letzten Zeilen "at uebung07.Girokonto.auszahlen(Girokonto.java:23)"
wiederholden sich sehr oft.
Noch viel Öfter als in der von mir angebenen Fehlermeldung.
Das Programm selbst besteht aus 3 Klassen.
Die Zweite Klasse "Girokonto" wierd von den ersten Klasse "Konto" abgeleitet.
Es werden Konstruktoren, Atribute und Methoden ergänst.
Die Dritte Klasse "GirokontoTest" testet die Klasse "Girokonto".
Über die Methoden in "Girokonto" wierd das Atribute Kontostand verändert.
Ich habe lange nach dem Fehler gesucht und ihn nicht gefunden. :noe:
Ich glaube das der Fehler mit der Schleife zusammenhängt.
Aber ich bin mir nicht sicher.
[WR]
Wo ist der Fehler?[/WR]
Hier ist das Ausführende Programm "GirokontoTest" :
Das ist die zweite Klasse "Girokonto" :
Die Superklasse "Konto" von der die Subklasse "Kontotest" abgeleitet wierd:
Die Ausgabe des Programms sollte so ausehen:
[DUKE]Kontostand: -1000.0
Fehler: Kreditlimit überschritten!
Kontostand: 10000.0[/DUKE]
Ich habe zwei Fragen: :noe:
Warscheinlich ist mein Fehler ein total blöder. :noe:
Trotzdem wäre nett wen ihr wenigstens einige meiner Fragn beantworten könnt.:toll: :applaus:
Es würde mir wirklich sehr Helfen. :bloed:
Wenn ihr noch weiter Tipps für mich habt, teilt sie mir ruhig mit. :idea:
[DUKE]euer "--->"[/DUKE]
Sehr geehrte Community,
Ich habe vor kurze mit der Java Programmierung begonnen
und mir ein Grundlagenbuch gekauft. :rtfm:
Mithilfe dieses Buches habe ich mehrere einfache Programme pogrammiert.
In einem dieser Programme befinden sich ein Fehler der vom Editor nicht angezeigt wierd.
Es erscheint nur eine, für mich unverständliche Fehlermeldung.
Ich habe die Fehlermeldung gekürzt damit sie nicht so lang wierd.
Die letzten Zeilen "at uebung07.Girokonto.auszahlen(Girokonto.java:23)"
wiederholden sich sehr oft.
Noch viel Öfter als in der von mir angebenen Fehlermeldung.
Code:
Exception in thread "main" java.lang.StackOverflowError
at uebung07.Konto.getKontostand(Konto.java:13)
at uebung07.Girokonto.auszahlen(Girokonto.java:20)
at uebung07.Girokonto.auszahlen(Girokonto.java:23)
at uebung07.Girokonto.auszahlen(Girokonto.java:23)
at uebung07.Girokonto.auszahlen(Girokonto.java:23)
at uebung07.Girokonto.auszahlen(Girokonto.java:23)
at uebung07.Girokonto.auszahlen(Girokonto.java:23)
Das Programm selbst besteht aus 3 Klassen.
Die Zweite Klasse "Girokonto" wierd von den ersten Klasse "Konto" abgeleitet.
Es werden Konstruktoren, Atribute und Methoden ergänst.
Die Dritte Klasse "GirokontoTest" testet die Klasse "Girokonto".
Über die Methoden in "Girokonto" wierd das Atribute Kontostand verändert.
Ich habe lange nach dem Fehler gesucht und ihn nicht gefunden. :noe:
Ich glaube das der Fehler mit der Schleife zusammenhängt.
Aber ich bin mir nicht sicher.
[WR]
Wo ist der Fehler?[/WR]
Hier ist das Ausführende Programm "GirokontoTest" :
Java:
package uebung07;
public class GirokontoTest {
public static void main(String args[]) {
Girokonto gk = new Girokonto("0000000001", 10000.0, 1000.0);
gk.auszahlen(11000.0);
System.out.println("Kontostand: " + gk.getKontostand());
gk.einzahlen(11000.0);
gk.auszahlen(11001.0);
System.out.println("Kontostand: " + gk.getKontostand());
}
}
Das ist die zweite Klasse "Girokonto" :
Java:
package uebung07;
public class Girokonto extends Konto {
double limit;
Girokonto(String Kontonummer, double Kontostand, double Kreditlimit) {
super(Kontonummer, Kontostand);
limit = Kreditlimit;
}
double getLimit() {
return limit;
}
void setLimit(double l) {
limit = l;
}
void auszahlen(double auszahlung) {
if ((getKontostand() - auszahlung) >= limit * (-1)) {
System.out.println("Fehler: Kreditlimit überschritten!");
} else {
auszahlen(auszahlung);
}
}
}
Die Superklasse "Konto" von der die Subklasse "Kontotest" abgeleitet wierd:
Java:
package uebung07;
public class Konto {
private String kontonummer;
private double kontostand;
Konto(String Kontonummer, double Kontostand) {
this.kontonummer = Kontonummer;
this.kontostand = Kontostand;
}
double getKontostand() {
return kontostand;
}
String getKontonummer() {
return kontonummer;
}
void einzahlen(double einzahlung) {
kontostand += einzahlung;
}
void auszahlen(double auszahlung) {
kontostand -= auszahlung;
}
}
Die Ausgabe des Programms sollte so ausehen:
[DUKE]Kontostand: -1000.0
Fehler: Kreditlimit überschritten!
Kontostand: 10000.0[/DUKE]
Ich habe zwei Fragen: :noe:
- Wo ist der Fehler? / Wo sind die Fehler?
- Was bedeutet die Fehlermaeldung?
Warscheinlich ist mein Fehler ein total blöder. :noe:
Trotzdem wäre nett wen ihr wenigstens einige meiner Fragn beantworten könnt.:toll: :applaus:
Es würde mir wirklich sehr Helfen. :bloed:
Wenn ihr noch weiter Tipps für mich habt, teilt sie mir ruhig mit. :idea:
[DUKE]euer "--->"[/DUKE]
Zuletzt bearbeitet: