Aufgaben 8.4.: Unterschied zwischen den Versionen
Zeile 12: | Zeile 12: | ||
Ein Internetportal bietet Kunden die Möglichkeit in Reisebüros, bei denen man registriert ist, eine Reise unter Angabe von Zielort und Hotelname zu buchen. Folgende Klassen seien gegeben: | Ein Internetportal bietet Kunden die Möglichkeit in Reisebüros, bei denen man registriert ist, eine Reise unter Angabe von Zielort und Hotelname zu buchen. Folgende Klassen seien gegeben: | ||
+ | |||
+ | <syntaxhighlight lang="java"> | ||
+ | public class Kunde | ||
+ | { | ||
+ | private String name; | ||
+ | private String benutzer; | ||
+ | private String kennwort; | ||
+ | |||
+ | public Kunde(String name){ | ||
+ | this.name=name; | ||
+ | } | ||
+ | |||
+ | public String getName(){ | ||
+ | return name; | ||
+ | } | ||
+ | |||
+ | public String getBenutzer(){ | ||
+ | return benutzer; | ||
+ | } | ||
+ | |||
+ | public String getKennwort(){ | ||
+ | return kennwort; | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="java"> | ||
+ | public class Reisebuero { | ||
+ | |||
+ | private String reisebueroName; | ||
+ | |||
+ | private String hinterlegterBenutzer="traveler"; | ||
+ | private String hinterlegtesKennwort="cook"; | ||
+ | |||
+ | |||
+ | public Reisebuero(String reisebueroName){ | ||
+ | this.reisebueroName=reisebueroName; | ||
+ | } | ||
+ | |||
+ | |||
+ | public String getReisebueroName(){ | ||
+ | return reisebueroName; | ||
+ | } | ||
+ | |||
+ | public String getHinterlegterBenutzer(){ | ||
+ | return hinterlegterBenutzer; | ||
+ | } | ||
+ | |||
+ | public String getHinterlegtesKennwort(){ | ||
+ | return hinterlegtesKennwort; | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> |
Version vom 11. Mai 2014, 16:16 Uhr
Aufgabe 1
Es soll nun der Bankautomat aus Aufgabe 8.3.1. in Java implementiert werden. Auf den Zustand Entnahmeaufforderung anzeigen kann dabei verzichtet werden. Das Einführen bzw. Entnehmen von Karte und Geld wird einfach durch eine Konsoleneingabe simuliert. Aus diesem Grund verwenden wir den Scanner aus Kapitel 2 für die Eingaben. Der Auszahlungsvorgang wird in einer Methode auszahlen() umgesetzt, in der nacheinander die 6 Zustände abgearbeitet werden. Bei einer Falscheingabe von PIN oder Geldbetrag wird der Kunde der Einfachheit halber zur Entnahme der Karte aufgefordert und der Automat geht wieder in den Zustand bereit über. Beim Geldbetrag sollen folgende Beschränkungen gelten: Er darf nicht größer als 1000 Euro sein und es sind nur Beträge in 50iger-Schritten möglich (50 - 100 - 150 - ...). Um den Vorgang zu überprüfen gehen wir von einem Kontostand von 1000 Euro aus und der neue Kontostand wir nach der Entnahme kurz angezeigt. Das folgende Klassendiagramm soll als Grundlage für die Implementierung dienen:
Aufgabe 1
Ein Internetportal bietet Kunden die Möglichkeit in Reisebüros, bei denen man registriert ist, eine Reise unter Angabe von Zielort und Hotelname zu buchen. Folgende Klassen seien gegeben:
public class Kunde { private String name; private String benutzer; private String kennwort; public Kunde(String name){ this.name=name; } public String getName(){ return name; } public String getBenutzer(){ return benutzer; } public String getKennwort(){ return kennwort; } }
public class Reisebuero { private String reisebueroName; private String hinterlegterBenutzer="traveler"; private String hinterlegtesKennwort="cook"; public Reisebuero(String reisebueroName){ this.reisebueroName=reisebueroName; } public String getReisebueroName(){ return reisebueroName; } public String getHinterlegterBenutzer(){ return hinterlegterBenutzer; } public String getHinterlegtesKennwort(){ return hinterlegtesKennwort; } }