Recursivité en java

Fermé
kayzer59 Messages postés 18 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 11 février 2009 - 7 juin 2008 à 18:50
programox Messages postés 8 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 2 février 2009 - 2 févr. 2009 à 03:16
Bonjour,

j'ai une methode sur la recursivité j'ai compris la moitié par contre la deuxieme moitié je ne vois pas coment on l'obtient

voici la methode :

public void recursive(int n){
System.out.println("début"+ n);
if (n > 1)
recursive(n - 1);
System.out.println("fin"+ n);
}

grace à cette methode je sais qu'on obtient le resultat suivant :

début3
début2
début1
fin1
fin2
fin3

explication de la partie comprise :

affichage debut 3 ensuite compare si 3 est plus grand que 1 comme c'est vrai la methode fonctionne come une boucle grace à la ligne recursive(n-1) et repart au debut en enlevant 1 a n donc on se base maintenant sur 2

affichage debut 2 mm procedure

affichage debut 1 ensuite compare 1 par rapport à 1 comme 1 n'est pas supereur à 1 alors il affiche e qui ne fait pas partie du if autrement dit il affiche fin 1

pour la suite je ne comprend pas comment il fait pour afficher fin 2 et fin 3

merci pour tte vos participations
A voir également:

1 réponse

vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 160
7 juin 2008 à 19:08
Salut,

C'est vrai que la récursivité peut être difficile à s'imaginer ...

Pour les deux dernières lignes, tu peux te les représenter comme ça :
appel de : recursive(3)
print "début 3"
appel de : recursive(3-1)
    print "début 2"
    appel de : recursive(2-1)
        print "début 1"
        par d'appel.
        print "fin 1"
    print "fin 2"
print "fin 3"


Avant d'avoir le retour, tu dois finir avec une fonction ; c'est pour ça que t'as en première fin le 1, et en troisième le 3.

@Bientôt
2
programox Messages postés 8 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 2 février 2009
2 févr. 2009 à 03:16
Merci grâce a toi j'ai réussi à comprendre
0