Supprimer un objet dans un liste
Résolu
salma_dora
Messages postés
14
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j'ai une question sur la suppression d'objet dans la liste
j'essaye un code mais dans le déroulement il y a le problème suivant:
a chaque itération supprime un nombre parmi les autre nombre qui se trouve dans la liste mais lorsque arrive a la liste suivante [2, 3, 6] ne choisit pas 2 ou 3 ou 6 programme choisit le nombre 1 malgré ne trouve pas dans mon liste pourquoi??? c'est ça mon problème
voila mon code
le résultat

j'ai une question sur la suppression d'objet dans la liste
j'essaye un code mais dans le déroulement il y a le problème suivant:
a chaque itération supprime un nombre parmi les autre nombre qui se trouve dans la liste mais lorsque arrive a la liste suivante [2, 3, 6] ne choisit pas 2 ou 3 ou 6 programme choisit le nombre 1 malgré ne trouve pas dans mon liste pourquoi??? c'est ça mon problème
voila mon code
int[][] conn = {{0,1,1,0,0,0}, // 0
{ 1,0,1,0,0,0}, // 1
{ 1,1,0,0,0,0}, // 2
{ 0,0,0,0,1,0}, // 3
{ 0,0,0,1,0,0}, // 4
{ 0,0,0,0,0,0}, // 5
};
List<Integer> VList= new ArrayList<Integer>();
Random rnd=new Random();
Graph1 G = new Graph1(conn);
for (int iv=0; iv <= NNodes;iv++){
VList.add(iv);}
while(!VList.isEmpty()){
System.out.println(VList);
int n=rnd.nextInt(VList.size());
System.out.println(n);
VList.remove(VList.indexOf(n));
System.out.println(VList);
}
}
}
le résultat

1 réponse
-
Tu utilises :
VList.remove(VList.indexOf(n));
Tu veux donc supprimer le chiffre n dans le tableau et non le chiffre à l'emplacement n dans le tableau ? C'est ce qui est fait ici.
L'erreur est donc, je pense, qu'il ne trouve pas le chiffre n=1 dans le tableau de [2,3,6] et il génère donc une erreur-
-
Tu peux vérifier qu'il existe dans le tableau (méthode longue car il recommence jusqu'à en avoir un existant) avec <array>.contains(n)
- J’utilise le langage java , le problème dans la méthode random je ne trouve pas comment j'utilise random pour choisi un nombre parmi les nombres qui se trouve dans la liste ,mon code lorsque arrive a la liste [2,3,6] ne choisi pas 2 ,ou 3 ou 6 elle choisi un autre nombre 1 qui ne trouve pas dans [2,3,6] . merci pour votre réponses
-
-