Im folgenden Beispiel wird eine rekursiv definierte Folge ganzer Zahlen ausgegeben:
Berechnen wir die ersten Werte, so erhalten wir
,
,
, usf. Das folgende Programm gibt alle Folgenglieder bis zu dem in der Kommandozeile angegebenen Index aus:
public class Rekursion {
static int funktion(int n) {
if (n==1) return 3;
else return funktion(n-1) + 2;
}
public static void main (String [] args) {
int maxzahl = Integer.parseInt(args[0]);
for (int i=1; i<=maxzahl; i++) {
System.out.println(i + ": " + funktion(i));
}
}
}
Beim Programmlauf erhalten wir:
alfred@duron:~/java/themen> java Rekursion 5 1: 3 2: 5 3: 7 4: 9 5: 11
Es ist klar, dass diese Folge auch iterativ berechnet hätte werden können - es liegt eine einfache arithmetische Folge mit
und
vor.