Zur Berechnung der einstelligen Quersumme würde ich auch keinen rekursiven Algorithmus verwenden. Außerdem würde ich Zahlen normalerweise nicht als Strings darstellen:
Indem Fall, warum nicht, du willst ja die einzelnen Zahlen zusammenrechnen. Ausserdem weißt du in JS gar nicht was für einen Typ du hast. Kannst aber jeden Typ mit Number() casten.
public static void main(String[] argv) {
int n = 546731;
int summe = 0;
int basis = 10;
while (n > 0) {
summe += n % basis;
n = n / basis;
if (summe > basis) {
summe -= basis - 1;
}
}
System.out.println(summe);
}
Naja, ist zumindest in JS immer noch halb so langsam wie die Version mit split() und im Firefox nochmal langsamer wie charAt() Funktion, im IE sind beide relativ gleich.
Struppi.
--
[Javascript ist toll](http://javascript.jstruebig.de/) (Perl auch!)