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
Dernière intervention
8 mai 2012
- - Dernière réponse : tastousa
Messages postés
9
Date d'inscription
mardi 19 mai 2009
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 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
9
Date d'inscription
mardi 19 mai 2009
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++;   
} 

Merci tastousa 3

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

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de tastousa
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Dernière intervention
30 août 2012
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
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.