34 lines
859 B
Markdown
34 lines
859 B
Markdown
|
#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)}")
|
||
|
}
|
||
|
}
|
||
|
```
|