Hallo Leute,
ich habe eine Frage zu Rekursion. Ich weiß das eine Rekursion ein Methode ist die sich selber wieder aufruft.
Meine Frage ist was bedeutete die Zeile return (h==1) ? x : x * hoch_rek(x,h-1);
Also ich denke mir das bei (h==1 ) die Methode solange wieder aufgerufen wird bist
h == 1 ist und das bei x * hoch_rek(x,h-1); x mal x genommen wird und das h um 1 verringert wird. Meine Frage ist was bedeutet ? x : in der Zeile.
ich habe eine Frage zu Rekursion. Ich weiß das eine Rekursion ein Methode ist die sich selber wieder aufruft.
Meine Frage ist was bedeutete die Zeile return (h==1) ? x : x * hoch_rek(x,h-1);
Also ich denke mir das bei (h==1 ) die Methode solange wieder aufgerufen wird bist
h == 1 ist und das bei x * hoch_rek(x,h-1); x mal x genommen wird und das h um 1 verringert wird. Meine Frage ist was bedeutet ? x : in der Zeile.
Java:
public class Hoch{
public static int hoch_it(int x,int h){
int erg = 1;
for(int i = 0; i < h ; i++){
erg = erg *x; //Iterativ Lösung
}
return erg;
}
public static int hoch_rek(int x,int h){
return (h==1) ? x : x * hoch_rek(x,h-1); // Rekursive Lösung
}
public static void main(String[]args){
int x = 3,h = 4;
System.out.println(hoch_it(x,h));
System.out.println(hoch_rek(x,h));
}
}
Zuletzt bearbeitet von einem Moderator: