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

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

tastousa 9 Messages postés mardi 19 mai 2009Date d'inscription 8 mai 2012 Dernière intervention - 23 mars 2012 à 12:44
+3
Utile
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++;   
} 

Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de tastousa
cs_laurent1024 987 Messages postés mardi 31 mai 2005Date d'inscription 30 août 2012 Dernière intervention - 23 mars 2012 à 09:01
0
Utile
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
tastousa 9 Messages postés mardi 19 mai 2009Date d'inscription 8 mai 2012 Dernière intervention - 23 mars 2012 à 11:19
0
Utile
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.