Aufgaben 8.4.: Unterschied zwischen den Versionen

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
 
(7 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt)
Zeile 6: Zeile 6:
  
  
<!--[[Lösungsvorschlag 8.4 - Aufgabe 1 | Lösungsvorschlag]]-->
+
[[Lösungsvorschlag 8.4 - Aufgabe 1 | Lösungsvorschlag]]
 +
 
 +
 
 +
'''Aufgabe 2'''
 +
 
 +
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;
 +
 
 +
  public Kunde(String name){
 +
      this.name=name;
 +
    }
 +
   
 +
    public String getName(){
 +
        return name;
 +
    }
 +
}
 +
</syntaxhighlight>
 +
 
 +
 
 +
<syntaxhighlight lang="java">
 +
public class Reisebuero {
 +
   
 +
    private String reisebueroName;
 +
 
 +
    //Zu Testzwecken gehen wir von einem einzigen registrierten Kunden aus
 +
    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>
 +
 
 +
 
 +
Es soll nun eine Klasse Buchung erstellt werden, die Kunde und Reisebüro zusammenführt. Dazu werden zuerst die Anmeldedaten mittels einer Methode ''anmeldungPruefen()'' überprüft und anschließend werden die Buchungsdaten (Zielort und Hotel) aufgenommen. Damit haben wir hier auch zwei Zustände (''anmeldung'' und ''buchung''), die wir in einer Methode ''buchen()'' abarbeiten. Als Ergebnis wird von einer Methode ''buchungVornehmen()'' folgender Text ausgegeben (Beispiel):
 +
 
 +
<pre>
 +
Das Reisebuero PromilleAufMalle bucht auf den Namen Luis Trinker einen Aufenthalt im Hotel Sangriagemetzel in Palma.
 +
Wir wünschen einen schönen Aufenthalt.
 +
</pre>
 +
 
 +
 
 +
[[Lösungsvorschlag 8.4 - Aufgabe 2 | Lösungsvorschlag]]

Aktuelle Version vom 12. Mai 2014, 13:09 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 8-4-1.JPG


Lösungsvorschlag


Aufgabe 2

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;
 
   public Kunde(String name){
       this.name=name;
    }
 
    public String getName(){
        return name;
    }
}


public class Reisebuero {
 
    private String reisebueroName;
 
    //Zu Testzwecken gehen wir von einem einzigen registrierten Kunden aus
    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;
    }
}


Es soll nun eine Klasse Buchung erstellt werden, die Kunde und Reisebüro zusammenführt. Dazu werden zuerst die Anmeldedaten mittels einer Methode anmeldungPruefen() überprüft und anschließend werden die Buchungsdaten (Zielort und Hotel) aufgenommen. Damit haben wir hier auch zwei Zustände (anmeldung und buchung), die wir in einer Methode buchen() abarbeiten. Als Ergebnis wird von einer Methode buchungVornehmen() folgender Text ausgegeben (Beispiel):

Das Reisebuero PromilleAufMalle bucht auf den Namen Luis Trinker einen Aufenthalt im Hotel Sangriagemetzel in Palma.
Wir wünschen einen schönen Aufenthalt.


Lösungsvorschlag