IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Fonction recursive qui ne back track pas


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 110
    Points : 68
    Points
    68
    Par défaut Fonction recursive qui ne back track pas
    Bonjour,

    j'ai ecrit une fonction recursive. Lorsqu'elle fonctionnera je compte l'utiliser pour generer un menu html dynamique.

    Le probleme c'est qu'elle se comporte bizarrement. Elle descend bien dans les appels, elle revient meme au niveau 3 (cf code) mais elle ne revient pas aux etapes precedentes. En gros la deuxieme fois qu'elle arrive au bout du code l'execution s'arrete.

    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    public String displayMenu(Connection conn, Statement st, int parent, int level)throws IOException {
        String response = new String("");
        int i=0;
        try{    
        String sql = new String ("SELECT * FROM REPORT WHERE REPORT_PARENT=" + parent + " AND REPORT_LEVEL=" + level +"");
        ResultSet rs = null;
        rs = st.executeQuery( sql );
        while (rs.next()) {
            i++;
            String hs = new String(rs.getString(4)); 
            if(hs.compareTo("Y")==0){
                response = response.concat("level " + level + " " + rs.getString(2) + " > dans le if\n");
                Menu m = new Menu();
                int dad = rs.getInt(1);
                int dad_level = rs.getInt(6)+1;
                response = response.concat(m.displayMenu(conn, st,dad,dad_level));            
            }
            else {
                response = response.concat("level " + level + " " + rs.getString(2) + " > dans le else\n");
            }
        }
        response=response.concat("level : " + level + ", " + i + " boucles.");
        rs.close();
        }
        catch (SQLException E){
            System.err.println(E.getMessage());
        }
     
        return response;
    }
    et voici l'affichage de la source genere :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
     
     
     
     
     
     
     
     
     
     
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
            <title>JSP Page</title>
            <link rel="stylesheet" type="text/css" href="styles.css">
        </head>
        <body>
     
            <div class="conteneur" align="center">
    Login  : jerome<br>
    Login  : xiele<br>
    Begin-> level 1 Sales > dans le if
    level 2 Sales packages > dans le if
    level 3 PDF > dans le else
    level 3 Excel > dans le else
    level : 3, 2 boucles.
     
     
            </div>
     
        </body>
    </html>
    j'ai affiche plusieurs temoins de passage

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 25
    Points : 26
    Points
    26
    Par défaut
    Le mieux est que tu utilises un débuggeur et regardes étape par étapes ce qui se passe et quelles sont les valeurs des variables (on a parfois des surprises!).

Discussions similaires

  1. Fonction recursive qui ne fonctionne pas
    Par Hightuxdotnet dans le forum Langage
    Réponses: 3
    Dernier message: 18/02/2009, 17h38
  2. [DOM] fonction javascript qui ne se lance pas
    Par line86 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/08/2008, 15h48
  3. Code dans la fonction GUI_Opening qui ne s'execute pas
    Par AsmaHaj dans le forum Interfaces Graphiques
    Réponses: 10
    Dernier message: 16/05/2007, 20h31
  4. Fonction Javascript qui ne s'exécute pas
    Par bubuche007 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 25/01/2007, 12h17
  5. [MS SERVER 2K]Fonction crée qui ne s'éxécute pas
    Par Filippo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/07/2006, 13h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo