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]