BlueJ BlueJ - Geldautomat-Programmierung

Seenf

Neues Mitglied
BlueJ - Geldautomat-Programmierung

Hallo, ich muss einen Geldautomaten programmieren.

Mit diesem Automaten sollte man eine Karte einschieben, den PIN eingeben und Geld abheben koennen. Die Karte soll mit der Methode "karte_ausgeben" ausgegeben werden koennen und somit sollte der ganze Vorgang abgebrochen werden. (d.h.Zustand wieder auf Standby) Ausserdem sollte bei der ersten falsch eingegebenen PIN der Vorgang abgebrochen werden.

Meine Probleme liegen hier: Geld kann ohne Karte bzw PIN abgehoben werden.
Ausserdem kann ohne Karte der Falsche PIN eingegeben werden und dann erscheint die Nachricht "Falsche PIN. Vorgang wird abgebrochen.Karte wird ausgegeben. Bitte Karte einwerfen.

Ich hoffe es kann mir jemand helfen: Das ist meine Programmierung

Code:

Java:
public class Geldautomat {

   private int guthaben ; 
   private int neuesGuthaben ;
   private int Geldbetrag ;
   private int maxBetrag ;
   private String  PIN ;
   private String zustand ; 
   private String verfuegbarerZustand ;
   private String bereiterZustand ;
   
       public Geldautomat()      {      
           guthaben = 10000 ;
           PIN = "123";
           zustand = "standby" ;
           bereiterZustand = "bereit" ;     //Bereiter Zustand = PIN kann eingegeben werden (d.h. Karte erhalten)
           verfuegbarerZustand = "verfuegbar"; // verfuegbarer Zuatand = Geld kann abgehoben werden( d.h. PIN korrekt)
           maxBetrag = 1000 ;
        }
        
       public void karte_einwerfen (){ 
            zustand = bereiterZustand ; 
            System.out.println("Karte erhalten. Automat ist startbereit.") ;
        } 
       
       public void pin_eingeben (String PIN ){                  
          if (zustand == "bereit")
                    if (PIN =="123") {
                        bereiterZustand = verfuegbarerZustand ;
                        System.out.println("PIN ist korrekt. Nun koennen sie ihr Geld abheben");
                    }                        
                    if (PIN !="123")
                        {
                        bereiterZustand = zustand ;
                        System.out.println("PIN ist falsch. Der Vorgang wird abgebrochen. Ihre Karte wird ausgegeben.");
          }   
                    if (zustand == "standby")    {
                        System.out.println("Bitte Karte einwerfen!");
          }
        }    
        
        public void abzuhebendenBetrag_waehlen (int Geldbetrag) {
                    int maxBetrag = 1000;
           if (verfuegbarerZustand == "verfuegbar" )   { 
                    if  (Geldbetrag <= maxBetrag){
                        neuesGuthaben = guthaben - Geldbetrag ;
                        guthaben = neuesGuthaben ;
                        System.out.println("Der Geldbetrag wurde abgehoben. Wollen sie noch mehr Geld abheben? .");
                        }
         
                    else 
                        {
                        System.out.println("Der eingegebene Betrag überschreitet das Maximale!") ;
                    }
                }
           else {
                    System.out.println("Bitte Karte bzw. PIN eingeben.") ;
                }
        }
        
        public void karte_ausgeben () { 
           if (zustand == "bereit") {
                    bereiterZustand = zustand ;
                    System.out.println("Vorgang abgebrochen. Ihre Karte wird ausgegeben");
            }   
            if (zustand == "verfuegbar") {
                    verfuegbarerZustand = zustand ;
                    System.out.println("Vorgang abgebrochen. Ihre Karte wird ausgegeben");
           }
        }
        
}

--Nachtrag--

Ich habe 3 Zustaende, weil die Zustaende wechseln sollen, das tun sie leider nicht
 
Zuletzt bearbeitet:

Seenf

Neues Mitglied

Vielen Dank fuer diesen Link im Moment habe ich noch folgende Probleme ich hoffe du kannst mir dabei auch helfen:


Mein Problem ist folgendes: Wenn ich den falschen PIN eingebe sollte normalerweise die Karte ausgegeben werden, das tut sie leider nicht. Was muss ich veraendern?

Code:
public class Geldautomat {

   private int guthaben ; 
   private int neuesGuthaben ;
   private int Geldbetrag ;
   private int maxBetrag ;
   private String  PIN ;
   private String zustand ; 
   private String verfuegbarerZustand ;
   private String bereiterZustand ;
   
       public Geldautomat()      {      
           guthaben = 10000 ;
           PIN = "123";
           zustand = "standby" ;
           bereiterZustand = "bereit" ;     //bereiterZustand = PIN kann eingegeben werden (d.h. Karte erhalten)
           verfuegbarerZustand = "verfuegbar"; // verfuegbarerZuatand = Geld kann abgehoben werden.(d.h PIN wurde korrekt eingegebe
           maxBetrag = 1000 ;                                       
        }
        
       public void karte_einwerfen (){ 
            zustand = "bereit" ; 
            System.out.println("Karte erhalten. Automat ist startbereit.") ;
        } 
       
       public void pin_eingeben (String PIN ){                  
          if (zustand.equals("bereit"))
                    if (PIN.equals("123")) {
                        zustand = "verfuegbar" ;
                        System.out.println("PIN ist korrekt. Nun koennen sie ihr Geld abheben");
                    }                        
                    else
                        {
                        bereiterZustand = "standby";
                        System.out.println("PIN ist falsch. Der Vorgang wird abgebrochen. Ihre Karte wird ausgegeben.");
                    }   
          if (zustand.equals ("standby"))    {
                System.out.println("Bitte Karte einwerfen!");
          }
        }    
        
        public void betrag_abheben (int Geldbetrag) {
           if (zustand.equals ("verfuegbar") )   { 
                    if  (Geldbetrag <= maxBetrag){
                        neuesGuthaben = guthaben - Geldbetrag ;
                        guthaben = neuesGuthaben ;
                        System.out.println("Der Geldbetrag wurde abgehoben. Wollen sie noch mehr Geld abheben?");
                        }
         
                    else 
                        {
                        System.out.println("Der eingegebene Betrag überschreitet das Maximale!") ;
                    }
                }
           else {
                    System.out.println("Bitte Karte bzw. PIN eingeben.") ;
                }
        } 
        
         public void karte_ausgeben () { 
           if (zustand.equals ("bereit")) {
                    bereiterZustand = zustand ;
                    System.out.println("Vorgang abgebrochen. Ihre Karte wird ausgegeben");
            }   
            if (zustand.equals("verfuegbar")) {
                    verfuegbarerZustand = zustand ;
                    System.out.println("Vorgang abgebrochen. Ihre Karte wird ausgegeben");
           }
        }

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K BlueJ - Fragen zu dem Spiel Pacman (Nachprogrammieren) Allgemeine Java-Themen 141
N BlueJ Implementation einer Analoguhr Allgemeine Java-Themen 0
G BlueJ Hintergrund Allgemeine Java-Themen 10
A BlueJ - Breite des Bildschirms Allgemeine Java-Themen 3
M Vererbung mithilfe von Bluej Allgemeine Java-Themen 3
D BlueJ, Variablen die mehrfach vorkommen gleichzeitig umbenennen Allgemeine Java-Themen 3
P BlueJ BlueJ Gloop City Projekt Allgemeine Java-Themen 0
F BlueJ Java/Bluej Bug oder einfach nur Dummheit?? Allgemeine Java-Themen 5
H BlueJ Gloop Allgemeine Java-Themen 1
A BlueJ Java Frame Java Editor --> Bluej / String title Allgemeine Java-Themen 8
D JAVA;BlUEJ Allgemeine Java-Themen 9
H BlueJ Zustände verwalten Allgemeine Java-Themen 2
D BlueJ - Aufgabe 12 namens Traktor Allgemeine Java-Themen 7
P wieso kann ich auf bluej exportieren aber auf eclipse nicht? Allgemeine Java-Themen 2
L BlueJ Java/Bluej Windows7 Allgemeine Java-Themen 4
C blueJ: Objekt wird nicht in Objektleiste angezeigt Allgemeine Java-Themen 8
H BlueJ Klasse ZEICHENFENSTER in BlueJ Allgemeine Java-Themen 5
K BlueJ: .jar Problem Allgemeine Java-Themen 2
G Anrufparameter für Applikationen in BlueJ Allgemeine Java-Themen 2
A BlueJ,Java, Exponentzechen! Allgemeine Java-Themen 12
F Kasiski-Test in BlueJ Allgemeine Java-Themen 4
B Problem mit Sortieralgorithmus (BlueJ) Allgemeine Java-Themen 2
H Java Rechner Programmierung der Mathematik Allgemeine Java-Themen 33
districon Rekursion und Dynamische Programmierung Allgemeine Java-Themen 2
D Vigenere Chiffre Programmierung Allgemeine Java-Themen 5
G Thread-Programmierung Allgemeine Java-Themen 5
R Input/Output Programmierung mithilfe der Robot Bibliothek Allgemeine Java-Themen 15
MiMa Programmierung von Bibliotheksklassen Allgemeine Java-Themen 3
zhermann Grundsatzfrage zur strukturierter Programmierung Allgemeine Java-Themen 5
S Kaffemaschine Programmierung Probleme Allgemeine Java-Themen 2
P jCheckBox auf der zusammengeknüpften Programmierung anzeigen lassen Allgemeine Java-Themen 3
K Test-Frist Programmierung - wie vorgehen Allgemeine Java-Themen 5
C Programmierung von Fotoeffekten mit Java möglich? Allgemeine Java-Themen 3
J Rekursive Programmierung-Zählen von Ziffern Allgemeine Java-Themen 5
L Designfrage: Dispatcher-Programmierung - redundante Auslegung Allgemeine Java-Themen 1
E Sonderzeichen nicht setzbar: Großes Problem bei Programmierung unter Linux Mint mit Virtual Box Allgemeine Java-Themen 5
C BlackBox-Framework - Plugin Programmierung Allgemeine Java-Themen 4
S Objekt orientierte Programmierung Allgemeine Java-Themen 7
E Socket Client-Server-Programmierung Allgemeine Java-Themen 44
M Parallele Programmierung: volatile Variable nimmt ungewöhnlichen Wert an Allgemeine Java-Themen 3
C Open Soure Projekte für parallele Programmierung Allgemeine Java-Themen 6
E Thread Programmierung Allgemeine Java-Themen 2
K Multithread Programmierung...ExecutionCompletionService Allgemeine Java-Themen 7
E objektorientierte Programmierung Allgemeine Java-Themen 3
C Hilfe bei Adressbuch-Programmierung, wie am Besten mit JList implementieren Allgemeine Java-Themen 2
J Problem mit der Thread Programmierung Allgemeine Java-Themen 2
T Fehler bei der Programmierung eines Universaldienstbrowsers Allgemeine Java-Themen 3
J 3d-Programmierung Allgemeine Java-Themen 7
G Funktionale Programmierung, OO- Programmierung, ... Allgemeine Java-Themen 9
J Hardware Programmierung Allgemeine Java-Themen 3
Kr0e Atomic / Lockfree Programmierung Allgemeine Java-Themen 11
6 Java - Threads - parallele Programmierung - Tutorial Allgemeine Java-Themen 6
I parallele Programmierung mit Java Allgemeine Java-Themen 3
X Error bei der Programmierung eines Sortieralgorithmus Allgemeine Java-Themen 2
J Modul/Komponenten/Addon-Programmierung Allgemeine Java-Themen 3
ModellbahnerTT Dynamische Programmierung, komme nicht weiter.... Allgemeine Java-Themen 15
S Applet Programmierung in Eclipse Allgemeine Java-Themen 12
B Observer vs Listener (GUI-Programmierung) Allgemeine Java-Themen 5
Developer_X Batch Programmierung Allgemeine Java-Themen 4
Developer_X Datei Programmierung Allgemeine Java-Themen 18
hdi Suche nach Begriff aus der Programmierung Allgemeine Java-Themen 11
K Programmierung einer Hilfe Allgemeine Java-Themen 6
G Threads programmierung Allgemeine Java-Themen 7
F Frage zu JSP / Java Programmierung Allgemeine Java-Themen 2
L Brauche Hilfe bei Memory Programmierung Allgemeine Java-Themen 2
G Framework für Multi-Prozessor-Programmierung? Allgemeine Java-Themen 4
tomtailor Mobiltelefon - Programmierung Allgemeine Java-Themen 8
O Oberfläche und "richtige" Programmierung Allgemeine Java-Themen 8
ven000m Constraint Programmierung Allgemeine Java-Themen 6
X Langsames Java im Bereich der GUI-Programmierung Allgemeine Java-Themen 8
F Klausuraufgaben Java-Programmierung Allgemeine Java-Themen 10
D Elegante Programmierung. Allgemeine Java-Themen 7
G Software für Java programmierung Allgemeine Java-Themen 5
J Frage zu Objektorientierter Programmierung Allgemeine Java-Themen 9
K Bubblesort Programmierung, finde Fehler nicht . Allgemeine Java-Themen 25
bernd Hardwarenahe Programmierung Allgemeine Java-Themen 14
S Taschenrechner und Programmierung Allgemeine Java-Themen 4
D Fraen zur Programmierung einer Volltextsuche Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben