Afficher les elements d'un tableau d'un ArrayList d'un ArrayList [Résolu]

Messages postés
9
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
8 mai 2012
- - Dernière réponse : tastousa
Messages postés
9
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
8 mai 2012
- 23 mars 2012 à 12:44
Bonsoir,

Je bloque sur la possibilité d'afficher tous les éléments de mon tableau qui se trouve dans un ArrayList d'un ArrayList. en fait, mon code est comme le suivant :
// la première partie: remplissage des tableau dans un Arraylist d'un Arraylist
int solution_initiale[][] = {{2,1,2,10,0},{1,1,1,12,0},{1,2,2,10,12},{3,1,3,10,0},{3,2,2,2,22},{1,3,3,4,22}, {3,3,2,2,24}, {2,2,3,7,10},{2,3,1,9,17}};
// cette matrice représente 9 opérations : chaque opération représente leur num job , num oper, num ressource , durée d’exécution et leur date de début

ArrayList> chemin_critique = new ArrayList>();
while (k<9)
{int t =0;
if (solution_initiale[k][4]== 0)
{

for ( t=0; t<5;t++)
{
tab_temp[t]= solution_initiale[k][t];

}

ArrayList temp_princ = new ArrayList();
temp_princ.add(tab_temp) ;
chemin_critique.add(temp_princ);
taille = chemin_critique.size();

}
k++;
}
// Deuxième partie: l'affichage
int tab[] = new int[5];

for (i=0; i<taille; i++)
{
ArrayList temp2 = chemin_critique.get(i);


for (j=0; j< temp2.size(); j++)
{
tab = chemin_critique.get(i).get(j);
}

System.out.print(Arrays.toString(tab));

System.out.println("\n");
}

Avec ce code il m'affiche seulement la dernière opération trouvé 3 fois !!

Vos conseils SVP!!
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
9
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
8 mai 2012
3
Merci
j'ai trouvé l'erreur ou exactement: en fait, je ne re-initialise pas mon tableau a chaque fois d'ou le code correct est le suivant :
while (k<9)   
{
int[] tab_temp;
int t =0;   
if (solution_initiale[k][4]== 0)   
{   



for ( t=0; t<5;t++)   
{   
tab_temp[t]= solution_initiale[k][t];   

}   

ArrayList temp_princ = new ArrayList();   
temp_princ.add(tab_temp) ;   
chemin_critique.add(temp_princ);   
taille = chemin_critique.size();   

}   
k++;   
} 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 201 internautes nous ont dit merci ce mois-ci

Commenter la réponse de tastousa
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
11
0
Merci
Bonjour
Pour la partie affichage, tu devrait plus avoir un code de ce genre (les System.out, dans la 2ème boucle).

for (i=0; i<taille; i++) { 
    ArrayList temp2 = chemin_critique.get(i); 
    for (j=0; j< temp2.size(); j++) { 
        tab = chemin_critique.get(i).get(j); 
        System.out.print(Arrays.toString(tab)); 
        System.out.println("\n"); 
    } 
} 
Commenter la réponse de cs_laurent1024
Messages postés
9
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
8 mai 2012
0
Merci
Non , de même : il affiche la dernière opération trouvée 3 fois
Commenter la réponse de tastousa