Lösung Übung 7: Zahlen zu Woertern 2
public class ZahlenZuWoerter2 {
public static void main( String[] args ) {
if( args.length < 1 )
System.exit(1);
String str = args[0];
int len = str.length();
if ( len > 2 ) {
System.out.println("Sorry! Nur Zahlen zwischen 0 und 99 sind ok.");
System.exit(1);
}
String zehner = "";
String einer = "";
for(int i = 0; i < len; i++ ) {
switch( str.charAt(i) ) {
case '0':
System.out.print("null");
break;
case '1':
if( len > 1 && i == 0)
zehner = "zehn";
else if( zehner.equals("zehn") ) {
zehner = "";
einer = "elf";
}
else
einer = "einund";
break;
case '2':
if( len > 1 && i == 0 )
zehner = "zwanzig";
else if( zehner.equals("zehn") ) {
zehner = "";
einer = "zwölf";
}
else
einer = "zweiund";
break;
case '3':
if( len > 1 && i == 0 ) {
zehner = "dreißig";
}
else
{
einer = "drei";
if( !zehner.equals("zehn") )
einer += "und";
}
break;
case '4':
if( len > 1 && i == 0 ) {
zehner = "vierzig";
}
else
{
einer = "vier";
if( !zehner.equals("zehn") )
einer += "und";
}
break;
case '5':
if( len > 1 && i == 0 ) {
zehner = "fünfzig";
}
else
{
einer = "fünf";
if( !zehner.equals("zehn") )
einer += "und";
}
break;
case '6':
if( len > 1 && i == 0 ) {
zehner = "sechzig";
}
else
{
einer = "sech";
if( !zehner.equals("zehn") )
einer += "sund";
}
break;
case '7':
if( len > 1 && i == 0 ) {
zehner = "siebzig";
}
else
{
einer = "sieb";
if( !zehner.equals("zehn") )
einer += "enund";
}
break;
case '8':
if( len > 1 && i == 0 ) {
zehner = "achtzig";
}
else
{
einer = "acht";
if( !zehner.equals("zehn") )
einer += "und";
}
break;
case '9':
if( len > 1 && i == 0 ) {
zehner = "neunzig";
}
else
{
einer = "neun";
if( !zehner.equals("zehn") )
einer += "und";
}
break;
default:
System.out.print( str.charAt(i) );
break;
}
}
// Ausgabe
System.out.println( einer + zehner );
}
}
[Index]