/*
A Java program that tries to add up the first n natural numbers, but fails.

Note: java on linus seems to be broken, so try this example somewhere else.

% javac Sum.java
% java Sum 50000
answer is: 1250025000
% java Sum 60000
Exception in thread "main" java.lang.StackOverflowError
        at Sum.sum(Sum.java:22)
        at Sum.sum(Sum.java:22)
        at Sum.sum(Sum.java:22)
	...
*/

public class Sum {

    public static long sum(long n) {
        if (n == 0)
            return 0;
        else
            return n + sum(n - 1);
    }

    public static void main(String[] args) {
        long n = 0;

        if (args.length > 0) {
            try {
                n = Long.parseLong(args[0]);
            } catch (NumberFormatException nfe) {
                System.err.println(nfe);
                System.exit(-1);
            }
        }
        System.out.println("answer is: " + sum(n));
    }
}
