O que é Recursividade? (Resposta da dúvida do Daniel)


O Daniel fez uma pergunta que muitos que estão iniciando na programação fazem: “O que é Recursividade?”. Bom, em termos gerais, recursividade é quando um método chama ele próprio até que não haja mais o que fazer. Aqui vai um exemplo:

Coloco sempre desse meu jeito, que é para incentivar a todos que acessam o blog a utilizar a orientação a objeto. Aqui teremos uma classe chamada Recursividade e uma classe Main. Veja:

Recursividade:
 Java |  copy code |? 
01
02
public class Recursividade {
03
	public void divideNumerosPor3SemResto(int numero){
04
		int resultado = numero / 3;//resultado é a divisão de 'numero' por 3.
05
		System.out.println(resultado);//imprime o resultado
06
		if(resultado != 0){//se resultado for diferente de 0, é porque não terminou
07
			divideNumerosPor3SemResto(resultado);//então chamamos o mesmo método recursivamente.
08
		}
09
	}
10
}
11
Main:
 Java |  copy code |? 
1
2
public class Main {
3
	public static void main(String[] args) {
4
		Recursividade recursividade = new Recursividade();//aqui instanciamos Recursividade
5
		recursividade.divideNumerosPor3SemResto(46);//chamamos o método divideNumerosPor3SemResto, passando como parâmetro 46.
6
	}
7
}
8

,

  1. #1 by Daniel on 16 de Maio de 2009 - 11:23

    Pow Vlw pela explicação eu finalmente entendi o que é Recursividade, eu sempre leio no orkut, mas nunca tinha entendido como funciona so fico sabendo o que faz.
    Brigadão msm !!!
(não será publicado)