Bonjour !
Je suis étudiant (pas en informatique), je bosse sur un projet et je suis face à un problème que j'arrive pas à résoudre.
Voilà, je testait mon code qui met notamment en jeu des méthodes de ce type :
Et en remarquant des problèmes dans mon code, j'ai fait les tests suivants pour essayer de mieux comprendre ce qu'il se passe (en vain ^^):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public static ArrayList<Ouvrage> garderRomans(ArrayList<Ouvrage> listouvr){ for (int i = 0; i < listouvr.size(); i++) { if (listouvr.get(i) instanceof DVD){ DVD dvd = (DVD)listouvr.get(i); listouvr.remove(dvd); } if (listouvr.get(i) instanceof CD){ CD cd = (CD)listouvr.get(i); listouvr.remove(cd); } } return listouvr; }
La je teste si un élément d'une liste d'ouvrage (dont Roman, CD et DVD sont des sous-classes) est un DVD, et l'affiche si oui. Jusque là tout va bien :
Puis je teste si un élément de cette liste est un DVD, et l'enlève de cette liste si oui. Ensuite j'affiche la liste. Je m'attends donc à ce que la liste contienne tous les ouvrages présents précédemment, sans les DVDs. Or ce n'est pas le cas.
Voilà, j'attend votre aide !![]()
PS : Je tiens à préciser que je code depuis très peu de temps, et ce n'est que mon deuxième vrai "projet" depuis. J'ai donc des connaissances du langage et de la pensée informatique limitées.
Partager