Java Übung & Lösung: Argumente in Verzweigungen switchen
In dieser Java Übung sollst du mit Hilfe des switch case Statements die Eintrittspreise für ein Rockkonzert bestimmen lassen.
Zur Aufgabe:
In einem Ticketshop werden Karten für eine berühmte Rock-Band verkauft.
Wie das so ist beim Vorverkauf, sind die Preise gestaffelt.
Je früher du kaufst, umso günstiger der Preis.
Der Vorverkauf findet zwischen 7 Uhr und 11 Uhr statt.
Und so würden die Verkaufspreise steigen.
Die Preise im Ticketshop:
- Ab 7.00 Uhr kostet das Ticket 28,-Euro.
- Ab 8.00 Uhr kostet die Karte schon 28,50 Euro.
- Ab 9.00 Uhr kostet der Spaß immerhin schon 39,- Euro.
- Ab 10.00 Uhr wird’s richtig teuer. Die Karte kostet dann 70,-Euro.
- Und Langschläfer werden bestraft. Ab 11.00 Uhr kostet es 120,50 Euro.
Schreibe eine Methode, welche eine einfache Zahl zwischen 7 und 11 erwartet (Integer).
Dieser Parameter entspricht der Uhrzeit des Vorverkaufs.
Die Methode soll dann die übergebene Uhrzeit auswerten.
Und dann den dazugehörigen Verkaufspreis per Bildschirmanzeige zurückgeben.
Falls der Methode ein Wert unter 7 oder über 11 übergeben wird, erscheint die Anzeige „Shop geschlossen“.
Zur Lösung dieser Java Übung benötigst du eine Klasse und eine statische Methode.
Als Klassenname wähle ich „TicketShop“.
Und meine Methode soll heißen: „verkaufeTicket“.
Da du diese Java Übung mit dem switch case statement lösen sollst, brauchst du einen switch-Wert.
Und da die Methode als Parameterwert eine Uhrzeit erwartet, switche ich genau diesen Wert.
switch (uhrzeit)
Und dann kann ich für jeden Fall eine bestimmte Anweisung ausführen lassen.
Im Java Code sieht das Ganze dann so aus:
public class TicketShop {
static void verkaufeTicket(int uhrzeit) {
switch (uhrzeit) {
case 7:
System.out.println("Preis: 28,-");
break;
case 8:
System.out.println("Preis: 28,50");
break;
case 9:
System.out.println("Preis: 39,-");
break;
case 10:
System.out.println("Preis: 70,-");
break;
case 11:
System.out.println("Preis: 120,50");
break;
default:
System.out.println("Shop geschlossen!");
break;
}
}
public static void main(String[] args) {
verkaufeTicket(6);
}
}
Die Methode ist statisch. Somit muss ich kein Objekt erzeugen, um diese aufzurufen.
Im Methodenrumpf wird zuerst das übergebene Argument „uhrzeit“ geswitcht.
Und dann wird für jeden Eintrittsfall (7-11) die entsprechende Anweisung implementiert.
Alle Werte, welche nicht zwischen 7 und 11 liegen, werden mit dem default-case abgefangen.
Innerhalb der main-Methode kann dann die „verkaufeTicket-Methode“ aufgerufen werden.
Zum Aufruf kannst du ihr irgendeine Zahl übergeben.
Im Beispiel wurde 6 übergeben.
Die Ausgabe lautet somit: „Shop geschlossen!“