groovy-lecture/aufgaben_datentypen.md

860 B

Aufgaben

Aufgabenstellung:

Die Römer hatten ihre eigene Art, Zahlen zu schreiben, und sie waren ziemlich stolz darauf! Deine Aufgabe ist es, eine Klasse zu erstellen, die eine Dezimalzahl in eine römische Zahl umwandelt.

Lösung

class Roman {

static def romanNumerals = [
    1000: "M", 900: "CM", 500: "D", 400: "CD",
    100: "C", 90: "XC", 50: "L", 40: "XL",
    10: "X", 9: "IX", 5: "V", 4: "IV",
    1: "I"
]

static def toRoman(int number) {
    def result = ""
    for (entry in romanNumerals.entrySet()) {
        while (number >= entry.key) {
            result += entry.value
            number -= entry.key
        }
    }
    return result
}

static void main (String[] args) {
def decimalNumber = 2000
println("Die Dezimalzahl $decimalNumber wird in römischen Zahlen geschrieben als: ${toRoman(decimalNumber)}")
    }    
}