Zahlenübersetzer

Jefferio

Mitglied
Hallo, bin neu hier und arbeite seit ein paar Monaten mit Java bzw. JCreator.

Ich hab eine Aufgabe bekommen, worüber ich mir schon die ganze Zeit den Kopf zerbreche.

Aufgabe:
Erstelle ein Java Programm, dass eine Zahl zwischen 0 bis 99 in Zahlen ausdrückt. Der Auszugebende Text soll dabei in einer Variable vom Datentyp string gespeichert werden. Am Ende des Programmes soll die Zahl durch ein einziges System.out.println ausgegeben werden.

Bsp.:
0=null
25= Fünfundzwanzig
88= achtundachzig

Wie gesagt ich bin neu auf der Ebene mit Java.
Kenntnisse:
Do, while Schleifen
if, else, switch (case)
modulo
Datentypen

Kann mir jemand helfen????:L
 
D

Dow Jones

Gast
Formuliere den Algorithmus dafür doch erstmal umgangssprachlich (als sog. Pseudocode). Das Ganze anschließend in Java umzusetzen dürfte dir dann nicht mehr schwerfallen. Im Prinzip musst du die Zahl ja ersteinmal auftrennen, in Einer- und Zehnerstelle. Für die Einerstelle gibst du dann das entsprechende Wort aus, ggf. gefolgt von einem "und", und zum Schluß noch das Wort für die Zehnerstelle (bspw. "fünf-und-zwanzig"). Die paar Sonderfälle die es dabei gibt (bspw. "zwölf") kannst du separat behandeln.

Viel Erfolg!
 

Bernd Hohmann

Top Contributor
Eigentlich ist das nur ein Array "null, ein, zwei, drei ... zwölf" und dann ein grösserer switch/case Block mit den Regeln und Ausnahmen

Pseudocode:

Code:
switch (value) {
 case 0: return wort[value];
 case 1: return wort[value]+"s";
 case 2..12: return wort[value];
 case 13..19: return wort[value mod 10]+"zehn";
 case 20: return "zwanzig";
 case 21: return wort[value mod 20]+"undzwanzig";
}

Vielleicht nochmal ein Array für die 10er Stellen (zehn zwanzig dreissig ....)

Bernd
 

Neue Themen


Oben