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

Langage Java Discussion :

Structure en for imbriqué de nombre variable


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2014
    Messages : 24
    Points : 12
    Points
    12
    Par défaut Structure en for imbriqué de nombre variable
    Bonjour, je demande votre aide ici pour un problème auquel je suis confronté et que je n'avais jamais eu auparavant dans aucun langage.

    J'aimerais pouvoir réaliser quelque chose ressemblant à cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    for(.....){
         for(....){
              for(....){
                   .
                   . 
                   .
              }
          }
    }
    Le nombre de for etant variable et inconnu au moment de la compilation.

    Existe-t-il une manière de réaliser cela en JAVA ? ou une piste pour faire la même chose d'une autre manière ?

    J'explique le but de cela tout de même, cette methode va devoir réaliser la chose suivante :
    - J'ai en entrée un nombre variable ( supérieur à 2 ) de listes ( admettons des liste d'int pour simplifier l'exemple )
    - Je veux en sortie une liste de tout les combinaison possible avec un element de chaque liste.

    par exemple j'ai en entrée :
    {1,2,3} ; {4,5}; {6,7}
    il va me falloir en sortie :
    {1-4-6, 1-4-7, 1-5-6, 1-5-7, 2-4-6, 2-4-7, 2-5-6, 2-5-7, 3-4-6, 3-4-7, 3-5-6, 3-5-7}

    Je précise qu'il n'y a aucune contrainte sur les tailles de chaque listes ( taille égale ou non, taille de 1 minimum ). Et je rappel qu'il y a au minimum 2 listes mais à priori pas de maximum.
    Voila j'attend donc toutes pistes de recherches ou idée pour faire cela ( ou solution toutes faites mais c'est moins drôle ).

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Bien sûr, en Java comme ailleurs, c'est pareil ou à peu près pareil.

    Il suffit de faire une méthode récursive, ou dans certains cas sans aller jusqu'à "récursive" à proprement parler, qui s'appelle elle-même avec une tâche de moins dans sa liste de tâches itératives à faire.
    Ici ton problème est clairement de nature récursive, go for it.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Inactif
    Femme Profil pro
    Politicien dans l'industrie du X
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Activité : Politicien dans l'industrie du X

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 11
    Points
    11
    Par défaut
    moi ej fais avec while parce que c'est plus performaant sur les gros tableaux

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par Vaselineau Voir le message
    moi ej fais avec while parce que c'est plus performaant sur les gros tableaux
    Nope.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2014
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Bien sûr, en Java comme ailleurs, c'est pareil ou à peu près pareil.

    Il suffit de faire une méthode récursive, ou dans certains cas sans aller jusqu'à "récursive" à proprement parler, qui s'appelle elle-même avec une tâche de moins dans sa liste de tâches itératives à faire.
    Ici ton problème est clairement de nature récursive, go for it.
    Merci bien, je connaissais le principe algorithmique des méthodes récursives mais je n'en avais jamais codé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Boucles imbriquées de nombre variable
    Par CondensationdeCauchy dans le forum Débuter
    Réponses: 1
    Dernier message: 04/04/2015, 19h46
  2. [2.x] Twig, boucle for imbriquées et accès aux variables et objets
    Par cid007300 dans le forum Symfony
    Réponses: 1
    Dernier message: 12/03/2014, 08h59
  3. [Batch] Variable imbriquée dans for imbriqué
    Par el_fabou29 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 06/05/2013, 08h47
  4. Boucles imbriquées en nombre variable
    Par lebelge dans le forum Fortran
    Réponses: 5
    Dernier message: 05/07/2007, 14h58
  5. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08

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