groovy-lecture/assignments/solutions/wetterprognose.groovy

39 lines
1.3 KiB
Groovy
Raw Normal View History

2024-06-09 20:55:46 +02:00
class Wetterprognose {
List<String> vorhersagen
Wetterprognose(List<String> vorhersagen) {
this.vorhersagen = vorhersagen
}
def countSunnyDays() {
int count = 0
vorhersagen.each { if (it == "Sonnig") count++ }
return count
}
def printSunnyDays() {
println "Anzahl der Tage mit Sonnenschein: ${countSunnyDays()}"
}
}
// 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