Capitulo 16: Recursão ou recursividade
Recursão ou recursividade
Ocorre quando um método Java chama a si próprio, direta ou indiretamente.
public void escrever(){
escrever();
}
Recursividade indireta
public void a(){
b();
}
public void b(){
a();
}
public void a(){
b();
}
public void b(){
a();
}
Veja um exemplo de um método recursivo que conta de 0 até 10:
public void contar(int valor){
sout(valor)
if(valor == 10){
sout("fin");
}else{
valor++;
contar(valor);
}
}
contar(0);
Fatorial
public int fatorial (int n){
if(n==0){
return 1;
}else{
return n*fatorial (n-1);
}
}
Se n = 5 o programa faria o seguinte: 5 * 4 * 3 * 2 * 1
Potência
public int potencia (int base, int expoente){
if ( expoente == 0) {
return 1;
}else{
return base * potencia (base, expoente -1);
}
main: sout(potencia(4,3));
4*4*4*1
0 comentarios:
Postar um comentário