Hallo zusammen.
Ich bin im Programmieren neu, habe java im IT-Studium medizin. Richtung ein Semester, aber nach Kara wurden wir mit Aufgaben überschüttelt. Bitte, hilft mir. Ich stelle hier die Aufgabe ein:
Als Mitarbeiter der Firma KrösusTools AG haben Sie die Aufgabe, einen
Geldautomaten zu programmieren, der Euro-Beträge in 5-, 20- und 50-Euro-
Scheinen auszahlt. Erstellen Sie dazu eine Klasse Geldautomat, die die Anzahl der
im Automat vorhandenen Geldscheine verwaltet und folgende öffentliche Methoden
zur Verfügung stellt:
public void nachfuellen(int neu5er,
int neu20er,
int neu50er)
Der Vorrat an 5er-, 20er- und 50er-Scheinen wird um die angegebene
Anzahl erhöht.
public void auszahlen(int betrag)
Der angegebene Betrag wird ausgezahlt, falls möglich. Es sind nur Beträge
erlaubt, die positiv und Vielfache von 5€ sind. Der Automat versucht immer,
möglichst große Scheine auszugeben. Kann der Betrag ausbezahlt werden,
wird durch System.out.println() die Anzahl der Scheine angezeigt. Kann der
Betrag nicht ausbezahlt werden, da ein unzulässiger Betrag eingegeben
wurde oder die Scheine im Automat nicht reichen, wird eine Fehlermeldung
ausgegeben. Es werden keine Teilbeträge ausbezahlt!
public int gesamtbetrag()
Bestimmt den noch insgesamt im Automaten verfügbaren Geldbetrag.
- 3 von 4 -
public void inhaltAusgeben()
Gibt aus, wie viele 50€-, 20€- und 5€-Scheine noch verfügbar sind.
Fabrikneu enthält der Geldautomat keine Geldscheine.
Achten Sie bei der Implementierung auf das Geheimnisprinzip. Der Zugriff auf die
gespeicherten Geldscheine soll nur über die oben angegebenen Operationen
möglich sein.
Zu Test finden Sie im Public-Verzeichnis die Datei TestGeldautomat.java, die
die Klasse Geldautomat verwendet. Die erwarteten Ergebnisse sind in der Datei
als Kommentar aufgeführt.
T
Und folgendes habe ich geschrieben:
public class Geldautomat {
Geldautomat geldautomat1 = new Geldautomat();
int schein05er = 200;
int schein20er = 100;
int schein50er = 50;
int Guthaben = schein05er + schein20er + schein50er;
public void nachfuellen (int neu5er,int neu20er,int neu50er){
this.schein05er = schein05er + neu5er;
this.schein20er = schein20er + neu20er;
this.schein50er = schein50er + neu50er;
}
public void auszahlen (int betrag) {
this.Guthaben = Guthaben;
if (betrag <= Guthaben && !(betrag % 5 != 0)) {
Guthaben = Guthaben - betrag;
}
if (betrag >= 50){
if (!(betrag % 50 != 0)){
int schein50 = betrag / 50;
this.schein50er = schein50er - schein50;
if (betrag % 50 != 0){
int rest = betrag % 50;
if (rest >= 20){
if (!(rest % 20 != 0)){
int schein20 = rest / 20;
this.schein20er = schein20er - schein20;
if (betrag % 20 != 0){
int rest2 = rest % 20;
if (rest2 >= 5){
int schein05 = rest2 / 5;
this.schein05er = schein05er - schein05;
System.out.println ( "Sei bekommen " + schein50 + " 50er Scheine" +
schein20 + " 20er Scheine" +
schein05 + " 5er Scheine ausbezahlt");
nachfuellen (4, 6, 8);
}
}
}
}
}
}
}
}
public void gesamtbetrag(){
int gesamtbetrag = Guthaben;
System.out.println ( " Gesamtbetrag: " + gesamtbetrag);
}
public void inhaltAusgeben(){
this.schein05er = schein05er;
this.schein20er = schein20er;
this.schein50er = schein50er;
System.out.println( "Es sind noch " + schein05er + " 05er Scheine und " +
schein20er + " 20er Scheine und " +
schein50er + " 50er Scheine vorhanden.");
}
}
Das Programm läuft gar nicht, ich weiß, dass ich eine Niete im Programmieren bin, aber vielleicht bekomme ich ein Paar Tipps.
Danke im Vorraus.
Ich bin im Programmieren neu, habe java im IT-Studium medizin. Richtung ein Semester, aber nach Kara wurden wir mit Aufgaben überschüttelt. Bitte, hilft mir. Ich stelle hier die Aufgabe ein:
Als Mitarbeiter der Firma KrösusTools AG haben Sie die Aufgabe, einen
Geldautomaten zu programmieren, der Euro-Beträge in 5-, 20- und 50-Euro-
Scheinen auszahlt. Erstellen Sie dazu eine Klasse Geldautomat, die die Anzahl der
im Automat vorhandenen Geldscheine verwaltet und folgende öffentliche Methoden
zur Verfügung stellt:
public void nachfuellen(int neu5er,
int neu20er,
int neu50er)
Der Vorrat an 5er-, 20er- und 50er-Scheinen wird um die angegebene
Anzahl erhöht.
public void auszahlen(int betrag)
Der angegebene Betrag wird ausgezahlt, falls möglich. Es sind nur Beträge
erlaubt, die positiv und Vielfache von 5€ sind. Der Automat versucht immer,
möglichst große Scheine auszugeben. Kann der Betrag ausbezahlt werden,
wird durch System.out.println() die Anzahl der Scheine angezeigt. Kann der
Betrag nicht ausbezahlt werden, da ein unzulässiger Betrag eingegeben
wurde oder die Scheine im Automat nicht reichen, wird eine Fehlermeldung
ausgegeben. Es werden keine Teilbeträge ausbezahlt!
public int gesamtbetrag()
Bestimmt den noch insgesamt im Automaten verfügbaren Geldbetrag.
- 3 von 4 -
public void inhaltAusgeben()
Gibt aus, wie viele 50€-, 20€- und 5€-Scheine noch verfügbar sind.
Fabrikneu enthält der Geldautomat keine Geldscheine.
Achten Sie bei der Implementierung auf das Geheimnisprinzip. Der Zugriff auf die
gespeicherten Geldscheine soll nur über die oben angegebenen Operationen
möglich sein.
Zu Test finden Sie im Public-Verzeichnis die Datei TestGeldautomat.java, die
die Klasse Geldautomat verwendet. Die erwarteten Ergebnisse sind in der Datei
als Kommentar aufgeführt.
T
Und folgendes habe ich geschrieben:
public class Geldautomat {
Geldautomat geldautomat1 = new Geldautomat();
int schein05er = 200;
int schein20er = 100;
int schein50er = 50;
int Guthaben = schein05er + schein20er + schein50er;
public void nachfuellen (int neu5er,int neu20er,int neu50er){
this.schein05er = schein05er + neu5er;
this.schein20er = schein20er + neu20er;
this.schein50er = schein50er + neu50er;
}
public void auszahlen (int betrag) {
this.Guthaben = Guthaben;
if (betrag <= Guthaben && !(betrag % 5 != 0)) {
Guthaben = Guthaben - betrag;
}
if (betrag >= 50){
if (!(betrag % 50 != 0)){
int schein50 = betrag / 50;
this.schein50er = schein50er - schein50;
if (betrag % 50 != 0){
int rest = betrag % 50;
if (rest >= 20){
if (!(rest % 20 != 0)){
int schein20 = rest / 20;
this.schein20er = schein20er - schein20;
if (betrag % 20 != 0){
int rest2 = rest % 20;
if (rest2 >= 5){
int schein05 = rest2 / 5;
this.schein05er = schein05er - schein05;
System.out.println ( "Sei bekommen " + schein50 + " 50er Scheine" +
schein20 + " 20er Scheine" +
schein05 + " 5er Scheine ausbezahlt");
nachfuellen (4, 6, 8);
}
}
}
}
}
}
}
}
public void gesamtbetrag(){
int gesamtbetrag = Guthaben;
System.out.println ( " Gesamtbetrag: " + gesamtbetrag);
}
public void inhaltAusgeben(){
this.schein05er = schein05er;
this.schein20er = schein20er;
this.schein50er = schein50er;
System.out.println( "Es sind noch " + schein05er + " 05er Scheine und " +
schein20er + " 20er Scheine und " +
schein50er + " 50er Scheine vorhanden.");
}
}
Das Programm läuft gar nicht, ich weiß, dass ich eine Niete im Programmieren bin, aber vielleicht bekomme ich ein Paar Tipps.
