Schülerforum


Themen-übersicht  |  Suche
 JAVA: Codestück verifizieren
Autor:
 Ai
Datum:
 05.01.2016 11:47
Fach:
 Informatik

Hallo zusammen

Leider komme ich mit einem Codeauschnitt in JAVA nicht vorwärts. Es handelt sich um das Salaerkonto, welches ich implementieren muss. Leider habe ich das Gefühl, die Logik könnte nicht stimmen. Könnt ihr mir helfen?

Ausgangslage:
Konto ist die Superklasse von Salaerkonto. Nun habe ich nur die Datenfelder sowie die Methoden der Superklasse und der Subklasse Salaerkonto aufgeführt. :(

Die Aufgabenstellung:

Das Salärkonto darf als einziges überzogen werden. Dazu hat es eine Überzugslimite, welche im Bereich 0 bis maximal CHF 10'000 liegt.



Mein Vorgehen:
Eine Bank bietet drei Arten von Konten an: normale Bankkonten, Salärkontoen und Nummernkonten

Konto-Datenfelder(Vaterklasse): inhaber, kontostand sowie zwei konstante MAXBetrag = 100000 und MINBetrag = 0;

Konto-Methoden: betragEinzahlen, betragAbheben, rappenZuFranken, frankenZuRappen, toString,getMaxamount, getMinamount

Salaerkonto-Datenfelder: MAXUEBERZUG = 10000,MINUEBERZUG = 0;ueberzugsLimite

Stimmt dieser Code überhaupt sowie meine Überlegung. Unten seht ihr noch einen Zahlenbeispiel zu diesem Code.

private void setUeberzugslimite(double limite){
if(limite > MINUEBERZUG){
if(limite > MAXUEBERZUG){
ueberzugsLimite = frankenZuRappen(MAXUEBERZUG);
}else{
ueberzugsLimite = frankenZuRappen(limite);
}
}else{
ueberzugsLimite = frankenZuRappen(MINUEBERZUG);
}
}

@Override
public void betragAbheben(double betrag){
if((getKontostand() - betrag) < getMinamount()){
if((getMinamount() - betrag) <= getMinamount() - MAXUEBERZUG){
setKontostand(getMinamount() - MAXUEBERZUG);
}else{
if((getKontostand() - betrag) >= (getMinamount() - rappenZuFranken(ueberzugsLimite))){
setKontostand(getKontostand() - betrag);
}else{
setKontostand(getMinamount() - rappenZuFranken(ueberzugsLimite));
}
}
}else{
setKontostand(getKontostand() - betrag);
}
}


Zahlenbeispiel zur Methode betragAbheben.

getKontostand = 1000
betrag = 100
getMinamount = 0
Maxiüberzug: 10000

if(1000 - 100 < 0) {
if(0 - 100 <= 0 -10000){
setKontostand(0-10000);
else{
if(1000 - 100 >= (0-0){
setKontostand(1000-100); -> 900

Stimmt meine Ãœberlegung?

Vielen Dank für eure Hilfe!!



}


Kostenlos Informatik online lernen