Bonjour,
Voilà, ce n'est pas vraiment un problème technique que j'ai. Pour illustrer mon cas, je vous simplifie. J'ai un interface graphique fait avec swing et awt. Il y a un formulaire des checkbox et des listes déroulantes. Dans ces derniers des critères, par défaut ils sont à "Tous".
Il y a 5 critères :
- couleurs
- formes
- matières
- poids
- textures
En moteur j'ai une base de données qui stocke ces objets. Un objet ayant 5 caractères.
Avec le fomulaire, l'utilisateur peut choisir 1,2,3,4 ou 5 critères. Du coup en fonction des résultats du formulaire, la requete varie.
De ce fait je fais des if ... else... imbriqués!!! il y en a environ 40!!!! du coup c'est pas très "propre".
ça donne quelque chose comme ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
if (couleurs == c) xxxx
else {
    if ((couleurs == c) && (formes == f)) xxxxx
    else {
         if ((couleurs == c) && (formes == f) && (matières == m)) xxxxx 
         else {
              .....
         }
    }
}
vous voyez le "bordel" dont je parle, associer toute les combinaisons possible (seul, par 2,3 ou 4)
Le plus simple aurait été un switch case, mais dans mes faibles connaissances, celui-ci ne teste qu'une valeur à la fois.

Existe -t-il un moyen plus propre et simple de faire ça??