public printDigits(int n){
//Behandlung der Trivialfälle
switch( n )
{
case 0: System.out.println("Null"); break;
case (1 || -1): System.out.println("Eins"); break;
case (2 || -2): System.out.println("Zwei"); break;
case (3 || -3): System.out.println("Drei"); break;
case (4 || -4): System.out.println("Vier"); break;
case (5 || -5): System.out.println("Fuenf"); break;
case (6 || -6): System.out.println("Sechs"); break;
case (7 || -7): System.out.println("Sieben"); break;
case (8 || -8): System.out.println("Acht"); break;
case (9 || -9): System.out.println("Neun"); break;
}
// Nicht-triviale Fälle (eigentliche Rekursion)
System.out.println( printDigits( erste Ziffer von n) + printDigits (n ohne die erste Ziffer) );
}
int stelle = str.charAt(0)-'0';
Java:int stelle = Integer.parseInt(""+str.charAt(0));
package com.javaforum;
public class Test {
public static void translateDigit(char digit) {
switch (digit) {
case '0':
System.out.print("null ");
break;
case '1':
System.out.print("eins ");
break;
case '2':
System.out.print("zwei ");
break;
case '3':
System.out.print("drei ");
break;
case '4':
System.out.print("vier ");
break;
case '5':
System.out.print("fuenf ");
break;
case '6':
System.out.print("sechs ");
break;
case '7':
System.out.print("sieben ");
break;
case '8':
System.out.print("acht ");
break;
case '9':
System.out.print("neun ");
break;
}
}
public static void printFirstDigit(String number) {
translateDigit(number.charAt(0));
if (number.length()>1) {
printFirstDigit(number.substring(1));
}
}
public static void main(String[] args) {
int i = 123;
printFirstDigit(Integer.toString(i));
}
}
public class Digits{
public void printDigitsReversed(int n){
//Behandlung der Trivialfälle
switch( n )
{
case 0: System.out.println("Null "); break;
case 1: System.out.println("Eins "); break;
case 2: System.out.print("Zwei "); break;
case 3: System.out.print("Drei "); break;
case 4: System.out.print("Vier "); break;
case 5: System.out.print("Fuenf "); break;
case 6: System.out.print("Sechs "); break;
case 7: System.out.print("Sieben "); break;
case 8: System.out.print("Acht "); break;;
case 9: System.out.print("Neun "); break;
}
System.out.println( printDigitsReversed( n % 10 ) + printDigitsReversed( n/10 ) );
}
}
System.out.println( printDigitsReversed( n % 10 ) + printDigitsReversed( n/10 ) );
printDigitsReversed( n % 10 );
printDigitsReversed( n/10 );
public class Digits{
public String printDigitsReversed(int n){
int m = Math.abs(n);
//Behandlung der Trivialfälle
switch( m )
{
case 0: return "Null ";
case 1: return "Eins ";
case 2: return "Zwei ";
case 3: return "Drei ";
case 4: return "Vier ";
case 5: return "Fuenf ";
case 6: return "Sechs ";
case 7: return "Sieben ";
case 8: return "Acht ";
case 9: return "Neun ";
}
String s=new String();
s+= printDigitsReversed( m % 10) + printDigitsReversed( m/10 );
return s;
}
}
So nebenbei, hat das schon mal jemand in der vollen Komplexität gelöst?
12243 = Zwölftausenddreihundertzweiunddvierzig ?
What's about 1200 = Zwölfhundert (die einen sprechen das so aus)