Konto- auszahlen

_eaz_o3

Mitglied
Hallo Leute, kann jemand mir bitte helfen? Ich muss es so machen, dass das Konto überzogen werden kann. Ich komme Iwie nicht mehr weiter. Danke 🙂

public void auszahlen(int betrag){
if (eingeloggt){
System.out.println(betrag+" wurde ausgezahlt!");
guthaben = guthaben - betrag;
System.out.println("Neuer Kontostand: "+guthaben);

}
So sieht es auch!
 
Dann zeige mal die ganze Methode.
Java:
class konto2{
  int pinnummer;
  int guthaben;
  boolean eingeloggt=false;
 
  public konto2(int ppin, int pguthaben){
    pinnummer = ppin;
    guthaben = pguthaben;
    }
 
  public int check(int pin){
    if (pin == pinnummer){
      eingeloggt = true;
      return 15;
      }
    else {
      System.out.println("PIN falsch!");
      return 0;
      }
  }
 
  public void kontoauszug(){
    if (eingeloggt){
      System.out.println("Dein Kontostand beträgt: "+guthaben); 
    }
    else {
      System.out.println("Bitte einloggen!");
    }
  }
 
  public void auszahlen(int betrag){
    if (eingeloggt){
      System.out.println(betrag+" wurde ausgezahlt!");
      guthaben = guthaben - betrag;
      System.out.println("Neuer Kontostand: "+guthaben);
    
    }
  }
 
  public void methodeA(int np){
    pinnummer = np;
  }
 
  public void methodeB(int e){
    if(e>0){
      guthaben = guthaben + e;
      System.out.println(e+" eingezahlt. Der Kontostand beträgt: "+guthaben);
      }
    else{
      System.out.println("Man kann keinen negativen Geldbetrag einzahlen!");
    }
  }
 
  public static void main (String[]args){
    int laufen = 1;
    konto2 BA1 = new konto2(1234,20);
    int eingabe = Integer.parseInt(javax.swing.JOptionPane.showInputDialog("Wie lautet ihr PIN?"));
    laufen = BA1.check(eingabe);
    while (laufen !=0) {
      System.out.println("Wähle eine der folgenden Aktionen!");
      System.out.println("1: Kontoauszug");
      System.out.println("2: Einzahlung");
      System.out.println("3: Auszahlung");   
      System.out.println("4: Pin ändern");
      System.out.println("0: Ende");
      laufen = Integer.parseInt(javax.swing.JOptionPane.showInputDialog("Wähle 0-4!"));
      if (laufen==1) {
        BA1.kontoauszug();
      }
      else if(laufen==2){
        eingabe = Integer.parseInt(javax.swing.JOptionPane.showInputDialog("Wie viel möchten Sie einzahlen?")); 
        BA1.methodeB(eingabe);
      }
      else if(laufen==3){
        eingabe = Integer.parseInt(javax.swing.JOptionPane.showInputDialog("Wie viel möchten Sie auszahlen?")); 
        BA1.auszahlen(eingabe);
      }
      else if(laufen==4){
        eingabe = Integer.parseInt(javax.swing.JOptionPane.showInputDialog("Neuer PIN?")); 
        BA1.methodeA(eingabe);
      }
    }
  }
}
 
Du hast in deinem Code ganz oben eine Bedingung, dass der Kunde eingeloggt ist. Was spricht dagegen noch eine Bedingung zu haben, die überprüft, ob genug Geld auf dem Konto ist?
 
Eine Möglichkeit hast du ja schon bekommen.
Prüfen mit if das Betrag nicht größer als dein Guthaben ist. Wenn ja Fehler ausgeben.
Und nichts ausgeben.
 

Zurück
Oben