Probleme avec un Vector (élément écrasé lors du .add() ) - Java - Programmation
Marsh Posté le 21-04-2005 à 15:19:55
Bon, j'ai fait plus de test, et mon problème m'est encore plus confu
Le problème ne semble pas directement lié au Vector, j'ai essayé une ArrayList et un classique tableau, rien ne change, mes éléments sont perdu en cours de route.
Le problème est(du moins je pense) dans la methode identifier().
Marsh Posté le 21-04-2005 à 16:54:07
1) elle sert à quoi la boucle dans majCopepode() ??
2) isole un peu mieux ton problème et/ou utilise un debugger : ton code est pas évident à appréhender en l'état
Marsh Posté le 21-04-2005 à 17:44:30
Oui, désolé c'était pas très détaillé mais j'ai pas eu énormement de temps ce midi.
1 : Il y a plusieurs Copépode dans la liste, donc on recherche celui à mettre a jour
2 : Je voudrais bien isoler, mais je ne sais pas trop ou se trouve réellement le bug =/
Voici un exemple d'output du programme montrant le probleme :
Citation : D:\programmation\stage_cnrs_2005>java Test |
On voit clairement le probleme, au lieu d'ajouter les nouvelles listes les unes a la suite des autres, ca remplace le tout.
________________________________________________________________
Je vais expliquer le cadre du programme :
Je dois réalise un logiciel de suivi de copépode (un copépode est un micro-organismes faisant partie de la famille du zooplancton). J'ai en fait une sequence d'image (une video ramenée en une suite d'image png) que je dois analyser.
Sur chaque image se trouve N copépode.
Le principe de l'algo :
Code :
|
J'espere que ce pseudo-code est assez clair
Le probleme est donc dans l'ajout de la liste des copépode de mon image, dans la liste globale : listePositionAllFrame.
Comme je l'ai expliqué dans le premier post, lorsque j'ajoute une liste, toute celle déja présente sont modifiées !
Que ce soit un Vector, une ArrayList ou un tableau, ca me fait ca.
Si vous avez besoin d'autre détails, n'hesitait pas, je seche complètement sur cette impasse =/
Marsh Posté le 21-04-2005 à 18:00:52
c0wb0y a écrit : 1 : Il y a plusieurs Copépode dans la liste, donc on recherche celui à mettre a jour |
ben non, tu compares l'indice de la boucle à un int passé en paramètre ... ca sert à rien.
fais directement
((Copepode)(listeCopepodeThisFrame.get(id))).setCoordCopepode(coord);
((Copepode)(listeCopepodeThisFrame.get(id))).setLost(false);
c0wb0y a écrit : |
C'est tout l'intérêt d'isoler un bug : tu testes indépendament les éléments de ton programme jusqu'à trouver l'endroit où ca se comporte pas comme tu le voudrais.
Désolé, j'ai pas le temps de chercher à comprendre ton programme ... peut être que d'autres seront plus courageux que moi.
Je te conseille vivement l'execution pas à pas avec un debugguer pour trouver ton problème
Marsh Posté le 21-04-2005 à 18:26:14
benou a écrit : ben non, tu compares l'indice de la boucle à un int passé en paramètre ... ca sert à rien. |
Lol, je me demande pourquoi j'ai pas fait comme ca directement, je devais avoir la tête ailleurs, merci ^^
Sinon, je me suis jamais servit d'un debugger, c'est le moment de commencer
Marsh Posté le 21-04-2005 à 18:34:40
c0wb0y a écrit : Sinon, je me suis jamais servit d'un debugger, c'est le moment de commencer |
ouais !
après on peut plus s'en passer
Marsh Posté le 21-04-2005 à 13:16:25
Bonjour,
J'ai un problème lors de l'utilisation d'un Vector
Je m'en sers pour adder des listes de coordonnées (des Vector également).
Le probleme, c'est que qd j'add un nouveau Vector, toute les instances contenue dans la Liste contenant tout les autres Vector sont écrasé
ex:
v == null
j'ajoute le premier élément :
v == [{0,0}, {1,1}, {2,2}]
j'ajoute la liste ; [{10,10},{9,9},{8,8}]
Mon Vector devient
v == [{10,10},{9,9},{8,8},
{10,10},{9,9},{8,8}]
Voici la classe :
Merci de votre aide.
S'il faut d'autres détails, je pourrais en fournit ce soir a partir de 17h
Message édité par c0wb0y le 21-04-2005 à 17:27:45