// simplified version, base ten only
public class EvalNumber2{
    private static long evalNumber(String digits){
        int len=digits.length();
        Trace.reverseIndent(len, "num("+digits+")");
        if (len==1)
            return evalDigit(digits);
        long retval=10*evalNumber(digits.substring(0,len-1))
                               +evalDigit(digits.substring(len-1));
        Trace.reverseIndent(len, "num("+digits+")="+retval);
        return retval;
    }
    private static int evalDigit(String digit){
        return digit.charAt(0)-'0';
    }
    public static void main(String[] args){
        System.out.println(evalNumber("666"));
        System.out.println(evalNumber("101"));
    }
}
//keywords: recursion, string, conversion, base