Supprimer un objet dans un liste
Résolu
salma_dora
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
Kartzull Messages postés 541 Date d'inscription Statut Membre Dernière intervention -
Kartzull Messages postés 541 Date d'inscription Statut Membre Dernière intervention -
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

A voir également:
- Supprimer un objet dans un liste
- Supprimer rond bleu whatsapp - Guide
- Liste déroulante excel - Guide
- Supprimer une page dans word - Guide
- Impossible de supprimer un fichier - Guide
- Comment supprimer un compte gmail - Guide
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
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
salma_dora
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
merci monsieur mais comment résolu ça ,c'est ça mon problème je veux supprime un nombre parmi les nombre 2,3,6 pas l'indice je pense que le problème dans le Random ne choisit pas un nombre parmi les nombre 2,3,6 comment resolu ca ???????
Kartzull
Messages postés
541
Date d'inscription
Statut
Membre
Dernière intervention
138
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)
salma_dora
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
>
Kartzull
Messages postés
541
Date d'inscription
Statut
Membre
Dernière intervention
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
Kartzull
Messages postés
541
Date d'inscription
Statut
Membre
Dernière intervention
138
Oui, il choisi pas soit 2,3 ou 6, il choisi 1,2 ou 3 (ou : 0,1 ou 2) car il y à 3 nombres. Il choisi le nombre d’éléments qu'il y à et non leur valeur