Schönen Abend an Alle,
Ich versuche mir gerade die Rekursion mittels meines Java für Anfänger Buch näher zu bringen. Das Prinzip davon habe ich auch verstanden, das man quasi immer wieder in die eigentliche Methode einsetzt mit einer Variable die man kontinuierlich verringert.
Jedoch scheitert es bei mir am Verständnis der Rekursion bei Arrays. Das Beispiel ist wie folgt aufgebaut:
Dadurch werden alle Elemente des Arrays rekursiv zu einer Summe addiert. Ich verstehe hierbei jedoch nicht, wieso nun bei
auf einmal die Länge des Arrays eine Rolle spielt und wieso das nun durch ein Komma getrennt wird. Ich dachte eigentlich, das dafür ein zweiter Parameter in der Methodensignatur definiert sein müsste. Außerdem verstehe ich auch nicht wieso nun bei
von i 1 abgezogen wird und das ebenfalls durch ein Komma getrennt wird.
Ich bin über jede Hilfe tierisch dankbar
Grüße
Ich versuche mir gerade die Rekursion mittels meines Java für Anfänger Buch näher zu bringen. Das Prinzip davon habe ich auch verstanden, das man quasi immer wieder in die eigentliche Methode einsetzt mit einer Variable die man kontinuierlich verringert.
Jedoch scheitert es bei mir am Verständnis der Rekursion bei Arrays. Das Beispiel ist wie folgt aufgebaut:
Java:
public class Summation {
public static int sum(int[] array) {
return sum(array, array.length - 1 );
}
public static int sum(int[] array, int i) {
if ( i < 0 ) {
return 0 ;
}
return array[i] + sum(array, i - 1 );
}
}
return sum(array, array.length - 1 );
auf einmal die Länge des Arrays eine Rolle spielt und wieso das nun durch ein Komma getrennt wird. Ich dachte eigentlich, das dafür ein zweiter Parameter in der Methodensignatur definiert sein müsste. Außerdem verstehe ich auch nicht wieso nun bei
return array[i] + sum(array, i - 1 );
von i 1 abgezogen wird und das ebenfalls durch ein Komma getrennt wird.
Ich bin über jede Hilfe tierisch dankbar
Grüße