Salut tout le monde, je ne comprend pas pourquoi ce code me retourne 9 !
public class Main
{
/**
* @param args
*/
public static void main(String[] args)
{
System.out.println(population3(3));
}
public static int population3(int nb)
{
if(nb == 0)
{
return 0;
}
else
{
return population3(nb - 1) + 3;
}
}
}
Pourtant moi j'aurai pensé que cela renvoi 0 ...
Vu que on teste la condition 3 est != de 0 donc on renvoi de nouveau la fonction mais pour 3-1 ! etc jusqu'à atteindre 0 et donc après 3 exécutions de la fonction, le résultat devrait satisfaire la première condition et ainsi renvoyer la valeur 0 ...
Merci d'avance.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.