groovy-lecture/assignments/wetterprognose.md

35 lines
1.9 KiB
Markdown
Raw Normal View History

# Wetterprognose für die Party
2024-06-09 20:55:46 +02:00
Da Anna und Tom nun ihre Begrüßungsliste haben, möchten sie natürlich auch sicherstellen, dass das Wetter gut ist. Sie haben eine Liste von täglichen Wettervorhersagen für die nächste Woche und möchten die Tage mit Sonnenschein zählen, um zu entscheiden, welcher Tag am besten für die Party geeignet ist. Helfen sie den beiden, indem sie ein Groovy Programm schreiben, welche die Anzahl der Zahe mit Sonnenschein in der Wettervorhersage berechnet.
Das Programm soll:
1. Eine Liste von täglichen Wettervorhersagen entgegennehmen
Beispiel ["Sonnig", "Regen", "Wolken", "Sonnig", "Sonnig", "Regen", "Wolken"]
2. Die Anzahl der Tage mit Sonnenschein ("Sonnig") in der Liste zählen.
3. Die Anzahl der Tage mit Sonnenschein ausgeben.
Achten sie darauf, dass sie hier keine statische Methode benutzen, sondern eine Klasse schreiben, deren Konstruktor man die Liste übergibt und die dann den Rest übernimmt (sowohl die Auswertung, als auch die Ausgabe)
### Testen sie ihren Code mit folgenden Aufrufen:
````Groovy
// Test 1: Keine sonnigen Tage
def vorhersagen1 = ["Regnerisch", "Wolkig", "Regnerisch", "Schnee"]
def wetter1 = new Wetterprognose(vorhersagen1)
wetter1.printSunnyDays() // Erwartete Ausgabe: Anzahl der Tage mit Sonnenschein: 0
// Test 2: Einige sonnige Tage
def vorhersagen2 = ["Sonnig", "Wolkig", "Sonnig", "Regnerisch"]
def wetter2 = new Wetterprognose(vorhersagen2)
wetter2.printSunnyDays() // Erwartete Ausgabe: Anzahl der Tage mit Sonnenschein: 2
// Test 3: Alle Tage sonnig
def vorhersagen3 = ["Sonnig", "Sonnig", "Sonnig", "Sonnig"]
def wetter3 = new Wetterprognose(vorhersagen3)
wetter3.printSunnyDays() // Erwartete Ausgabe: Anzahl der Tage mit Sonnenschein: 4
// Test 4: Wechselhaftes Wetter
def vorhersagen4 = ["Regnerisch", "Sonnig", "Wolkig", "Sonnig", "Schnee", "Sonnig"]
def wetter4 = new Wetterprognose(vorhersagen4)
wetter4.printSunnyDays() // Erwartete Ausgabe: Anzahl der Tage mit Sonnenschein: 3
````