Partage
  • Partager sur Facebook
  • Partager sur Twitter

incoimprehension return

    29 juin 2008 à 14:49:43

    salut tout le monde :p

    je ne comprend pas trop le return en methode recursif
    je vous montre mon code

    public class fonct {
    public static int fonct (int n){
    System.out.println(" "+n);
    if (n==5) {
    return n=1;
    }
    else
    return fonct (n+1);
    }
    }



    public class appel {

    /**
    * @param args
    */
    public static void main(String[] args) {
    fonct l;
    l = new fonct();
    l.fonct(3);
    }

    }


    je comprend pas pourquoi le return 1; ne met pas 1 par exemple la pour moi sa devrait me faire
    3 4 5 1 2 3 4 5 1 2 3 4 5 1 .....

    • Partager sur Facebook
    • Partager sur Twitter
      29 juin 2008 à 15:28:44

      lol
      ca compile ?
      je suis etonne qu'il te prenne le return (n = 1);
      sinon en sorti si le n = 1 reagis comme je l'imagine tu devrais avoir juste 3 4 5
      • Partager sur Facebook
      • Partager sur Twitter
        29 juin 2008 à 16:22:11

        Hello woard !

        Bon déja, il y a pas mal d'optimisation à faire ... Mais ca je te laisse un peu découvrir par toi même (une piste tout de même : le ternaire).

        Pour le reste, ca ne n'affichera que

        3 4 5


        En effet, ta méthode ne renvoie pas fonct(1) mais 1 du coup, tu n'y fait plus appel et ainsi le 1 n'est jamais utilisé ni affiché. Par contre, ne fait jamais de

        return n=1;
        


        c'est utiliser les ressources de ta machine inutilement! Effectue directement

        return 1;
        


        J'espère avoir répondu à ta question :) !
        • Partager sur Facebook
        • Partager sur Twitter
          4 juillet 2008 à 2:30:24

          Ton but c'est d'afficher les nombres de 1 à 5 indéfiniment ?

          Dans ce cas, une fois que n vaut 5, il faut que tu appelles la fonction qui affichera les nombres de 1 à 5 :)
          • Partager sur Facebook
          • Partager sur Twitter

          incoimprehension return

          × 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.
          • Editeur
          • Markdown