Frage von Suntronic, 52

Kann mir jemand die Programmschritte erklären - Hilfe?

Hallo,

Es geht um folgenden Quellcode:

public class Calc {

private static int a = 5;

public static int calc(int x, int y){

int erg = 0;

if (x + y > 1){

erg = erg + a * calc(x-1, y - 1);

}

else{

erg = erg + y + a;

} return erg;

}

public static void main(String [] args){

int erg1 = calc(2,2);

int erg2 = calc (0 , 0);

System.out.println(erg1);

System.out.println(erg2);

Ich weiß, dass erg1 = 125 und erg2 = 5 rauskommt/ausgegeben wird. Das erg2 kann ich mir erklären.

Jedoch würde ich gerne wissen wie man auf 125 kommt... Kann mir jemand quasi die Rechenschritte erklären. Würde es gerne verstehen.

Danke schonmal

Gruß Suntronic

Antwort
von Mikkey, 37

Effektiv hast Du aus calc(2,2) das Ergebnis

5*calc(1,1) und damit

5*5*calc(0,0)

Kommentar von Suntronic ,

Danke vielmals!

Keine passende Antwort gefunden?

Fragen Sie die Community