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

avec Java Discussion :

Comment afficher des listes qui se trouvent dans une autre liste ?


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 221
    Points : 61
    Points
    61
    Par défaut Comment afficher des listes qui se trouvent dans une autre liste ?
    salut !
    J'ai un problème pour afficher le contenu d'une liste
    voila mon constructeur
    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
    public class synchrone implements composition{
     
        Transition td1;
        Transition td2;
        ArrayList<Transition>t_f1=new ArrayList();
        ArrayList<Transition>t_f2=new ArrayList();
        ArrayList<String> rel=new ArrayList();
    String type;
        private int i=0;
        public synchrone() {
        }
     
     
        public synchrone(Transition td, Transition tf) {
            this.td1 = td;
            this.td2 = tf;
        }
     
         public synchrone(String t, ArrayList<String> r,Transition td, Transition tf,ArrayList<Transition>trd,ArrayList<Transition>trf) {
            this.td1 = td;
            this.td2 = tf;
            this.t_f1=trd;
            this.t_f2=trf;
            this.type=t;
            this.rel=r;
        }
    et voici mon bout de code pour l'affichage

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    public class AjouterComposition extends javax.swing.JFrame {
    ArrayList<synchrone >  cmpt = new ArrayList();
              ArrayList<Transition> tfin1=new ArrayList();
              ArrayList<Transition> tfin2=new ArrayList();
              ArrayList<String> rel=new ArrayList();
    
    
    
    
    
              String t;
              synchrone sy=new synchrone();
    
             int i;
             String s,s1,s2;
             Transition  tdeb1;
             Transition  tdeb2;
    
    private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    
        cmpt.add(new synchrone(t,rel,tdeb1,tdeb2,tfin1,tfin2));
    
    }      
    
    // affichage
    
    void Afficher()
        { String titre="Les classe et les domaine";
          String message="";
          for(i=0;i<cmpt.size();i++)
          { 
            message+="le type du composition: \t\t "+ cmpt.get(i).getType();
            message+="\n\n";
             message+="swn de composition: ";
           for(int n=0;n<rel.size();n++)
            { message+=", "+ cmpt.get(n).getSWN();}
            message+="\n\n";
            message+="les transition de fin de N1: ";
               for(int j=0;j<sy.t_f1.size();j++)
               {  message+=", "+ sy.t_f1.get(j).getNom();}
                    message+="\n\n"; 
                    
                    message+="les transition de fin de N2:  ";
                               for(int r=0;r<sy.t_f2.size();r++)
    
                     { message+=", "+ sy.t_f2.get(r).getNom();}        
                       message+="\n\n";
                       message+="la transition de début N1: \t\t "+ cmpt.get(i).getTd1().getNom();
                       message+="\n\n";
                       message+="la transition de début N2: \t\t "+ cmpt.get(i).getTd2().getNom();
                                            //message+="les swn: \t\t "+ cmpt.get(i).getSWN();
                            message+="\n\n";
    message+="\n\n";
    
    
    
            message+="******************************************************************";
            message+="\n\n";
          }
         
          
        javax.swing.JOptionPane.showMessageDialog(this,
                            
                message,titre,
                javax.swing.JOptionPane.INFORMATION_MESSAGE);
        }
    en rouge c'est faux, je sais pas comment afficher les liste tfin1 et tfin2 et rel qui se trouve dans la liste cmpt
    merci

  2. #2
    Membre actif Avatar de Gaillac
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 209
    Points
    209
    Par défaut
    Ça c'est un peu louche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for(i=0;i<cmpt.size();i++)
          { 
            message+="le type du composition: \t\t "+ cmpt.get(i).getType();
            message+="\n\n";
             message+="swn de composition: ";
           for(int n=0;n<rel.size();n++)
            { message+=", "+ cmpt.get(n).getSWN();}
    A priori il y a peu de raison que tes listes aient des tailles identiques donc utiliser n pour extraire des éléments de cmpt c'est dangereux, risque de IndexOutOfBoundsException.

    De manière générale, il y a imbrications de boucles (au moins 4) mais sans aucune utilisation de cette imbrication :
    i ne sert qu'à faire de l'affichage (cmpt.get(i).getType()), mais après n est complètement indépendant. De fait rel ne dépend pas de cmpt.
    Et c'est comme ça pour les 4 imbrications.

  3. #3
    Membre actif Avatar de Gaillac
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 209
    Points
    209
    Par défaut
    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    for(i=0;i<cmpt.size(); i++)
    {
           for(j=0; j<cmpt.get(i).t_f1; j++)
           {
               // Utilisation de cmpt.get(i).t_f1.get(j)
     
           }
     
          for(j=0; j<cmpt.get(i).t_f2;j++)
           {
               // Utilisation de cmpt.get(i).t_f2.get(j)
     
           }
    }

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 221
    Points : 61
    Points
    61
    Par défaut
    for(int n=0;n<cmpt.get(i).rel.size();n++)
    { message+=", "+ cmpt.get(n).getSWN();}
    voila j'ai fait ça, mais j'ai une erreur a la 2 eme ligne

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 221
    Points : 61
    Points
    61
    Par défaut
    c bon c'est réglé j'ai rajouter un paramètre ça marche

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/11/2013, 15h39
  2. Afficher des images qui se trouvent dans un répertoire
    Par momjunior dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 05/11/2012, 16h24
  3. Réponses: 3
    Dernier message: 18/11/2008, 09h38
  4. Réponses: 13
    Dernier message: 27/11/2007, 11h06

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