UNB/ CS/ David Bremner/ teaching/ cs1083/ java/ EvalNumber2.java
// 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