Bonjour,
Après avoir changé mon fusils d'épaule et travaillé sur un code plus simple, j'aimerai créer une fonction recherche pour mon programme.
Pour le moment, j'arrive sans aucun souci à faire une recherche mais celle-ci s'arrête lorsque le prog trouve un résultat. J'aimerai que celle--ci continu à rechercher dans le fichier xml pour trouver d'autre résultats.
En gros, j'ai un un fichier.xml qui contient des canaris. Chaque canari à un nom. J'aimerai trouvé tous les canaris qui on le nom "titi" par exemple !
Je sais que ça semble idiot d'avoir des canaris de même nom mais je compte utilisé cette fonction pour rechercher tous les canaris de m^me sexe par exemple.
Pour le moment, j'arrive à retrouvé un canari en faisant:
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 public class Annee { private List listeCanaris = new ArrayList(); private String file; private String canariMale; public Annee() { super(); } public Annee(String file) { this(); this.file=file; } public Canari getCanari(String nomCanari) { for(Iterator ite = listeCanaris.iterator();ite.hasNext();){ Canari unCanari = (Canari) ite.next(); if(nomCanari.equals(unCanari.getNom())){ return unCanari; // canari trouvé on le renvoie } } // si on trouve pas ??? System.out.println("Pas de canari du nom de "+nomCanari+" trouvé dans le fichier "+file+ "!!!"); return null; } public void removeCanari(String nomCanari){ Canari canariASupprimer = getCanari(nomCanari); if(canariASupprimer!=null) listeCanaris.remove(canariASupprimer); } public void setCanari(String nomCanari, String nouveauNom){ Canari canariAModifier = getCanari(nomCanari); if(canariAModifier!=null) canariAModifier.setNom(nouveauNom); } public void addCanari(Canari unCanari) { listeCanaris.add(unCanari); } public List getAnnee() { return listeCanaris; } public void setAnnee(List listeCanaris) { this.listeCanaris = listeCanaris; } public String getNomCanariMale(){ return canariMale; // ce qui est dans le flux } public Canari getNomCanariMale(String file){ //fait le lien entre le nom et les infos du canari return Annee.lire(file).getCanari(getNomCanariMale()); }
Dès que le porgramme trouve un canari, il arrête les recherches!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Annee lecture = Annee.lire(nomDuFichier); Canari unCanari = lecture.getCanari(nomDuCanari);![]()
Je pense donc mettre les canaris dans une arrayList pour stocker tous le canari qui ont le nom "titi" par exemple.
Avec cette fonction, je pense arriver à mes fins.... Mais j'ai cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public ArrayList getPlusieursCanari(String nomCanari) { ArrayList array = new ArrayList(); for(Iterator ite = listeCanaris.iterator();ite.hasNext();){ Canari unCanari = (Canari) ite.next(); if(nomCanari.equals(unCanari.getNom())){ array.add(unCanari); } return array; } }
Help please
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2This method must return a result of type ArrayList
Partager