/media/sda-magnetic/david/Dok-15-2023-11-27/fernuni-hagen/cs-i-ii/old-cs-2-03/java-src/java-2020-10-14/Summierer.java


public class Summierer {
    public static void main(String[] args) {
        Summierer summierer = new Summierer();
        int n = Integer.parseInt(args[0]);

        System.out.println("Ergebnis kleiner Gauss: " + summierer.kleinerGauss(n));		
        System.out.println("Ergebnis mit for-Schleife: " + summierer.forSumme(n));
        System.out.println("Ergebnis rekursiv: " + summierer.rekursiveSumme(n));
    }

    int kleinerGauss(int n) {
        if (n >= 0)
            return (n*(n+1))/2;
        else 
            return -1;
    }

    int forSumme(int n) {
        int sum = 0;
        if (n >= 0) {
            for (; n >= 1; n--)
                sum = sum + n;
            return sum;
        }
                
        else
            return -1;
    }

    int rekursiveSumme(int n) { 
        int retval = n;
        if (n > -1) {
            if (n >= 1) {
                retval = retval + rekursiveSumme (n-1);
                return retval;
            }
        }
        else 
            return -1;
        return retval;
    }
}