Salut j'ai un erreur dans un programme en java poo il me donner un message

Résolu
youssefrhanem Messages postés 4 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 19 juillet 2012 - 17 juil. 2012 à 15:14
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 - 17 juil. 2012 à 17:11
salut j'ai un erreur dans un programme en java poo il me donner un message
" illegal start of expression "
Dans cette partie :

Vector v = new Vector();
Voiture a = new Voiture();

public Voiture rechercher(int matricule){ //illegal start of expression
Voiture a1 = null;
for(int i=0; i<v.size();i++){
Voiture a = (Voiture) v.get(i);
if(matricule == a.getMatricule()){
a1=a;
}
}
return a1;
}

1 réponse

cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
17 juil. 2012 à 17:11
Salut,

C'est une erreur de syntaxe mais elle n'apparait pas dans ce bout de code, même si l'erreur indique la ligne "public Voiture rechercher(int matricule){".

Donne nous le code entier de la classe si possible et utilise la balise code par la même occasion.

De plus :
- utilise des noms de variable plus parlant que "a1", "a", "v"
- si tu travailles avec Java 5 ou >, utilise la généricité, ça te simplifie le code
- dans la mesure du possible, dans le cas d'une itération sur un Iterable (Vector par exemple), utilise la boucle "for each" plus élégante que la boucle "for" classique

Exemple :
Vector<Voiture> voitures = new Vector<Voiture>();

public Voiture rechercher(int matricule) {

Voiture voitureTrouvee = null;

for (Voiture voiture : voitures) {

if (voiture.getMatricule() == matricule) {
voitureTrouvee = voiture;
}

}

return voitureTrouvee;

}


Je trouve que c'est plus compact et élégant.

Enfin, si tu recherches des voitures uniquement (ou généralement) par leur matricule, envisage de les indexer (avec une HashMap, par exemple). La recherche sera beaucoup plus rapide.
3
Rejoignez-nous