[Opérateur] problème avec 'ou' (||)
bonjour, j'ai, dans mon code, 3 champs texte qui sont : noIP1, noIP2, noIP3. Je souhaiterai que :
- soit tous ces champs soient impérativement remplis
- soit aucun des 3 champs n'est rempli
J'ai pour cela fait un code :
Code:
1 2 3 4 5 6 7 8
| if(
((noIP41.getText().equals(""))&&((!noIP42.equals(""))||(noIP43.equal("")) ||(!noIP44.equals(""))))||
((noIP42.getText().equals(""))&&((!noIP41.equals(""))||(!noIP43.equals(""))||(!noIP44.equals(""))))||
((noIP43.getText().equals(""))&&((!noIP42.equals(""))||(!noIP41.equals(""))||(!noIP44.equals(""))))||
((noIP44.getText().equals(""))&&((!noIP42.equals(""))||(!noIP41.equals(""))||(!noIP43.equals(""))))){
JOptionPane.showMessageDialog(this,
"Veuillez entrer une adresse IP4 complète!");
} |
Lorsque l'utilisateur n'entre pas tous les champs, le message d'erreur s'affiche. Par contre, lorsque l'utilisateur n'entre aucun champs, le message d'erreur s'affiche aussi alors qu'il ne devrait pas y avoir d'erreurs. Voyez vous d'ou vient le pb?
Merci d'avance
Re: problème avec 'ou' (||)
Citation:
Envoyé par clairette
bonjour, j'ai, dans mon code, 3 champs texte qui sont : noIP1, noIP2, noIP3. Je souhaiterai que :
- soit tous ces champs soient impérativement remplis
- soit aucun des 3 champs n'est rempli
J'ai pour cela fait un code :
if(
((noIP41.getText().equals(""))&&((!noIP42.equals(""))||(noIP43.equal("")) ||(!noIP44.equals(""))))||
((noIP42.getText().equals(""))&&((!noIP41.equals(""))||(!noIP43.equals(""))||(!noIP44.equals(""))))||
((noIP43.getText().equals(""))&&((!noIP42.equals(""))||(!noIP41.equals(""))||(!noIP44.equals(""))))||
((noIP44.getText().equals(""))&&((!noIP42.equals(""))||(!noIP41.equals(""))||(!noIP43.equals(""))))){
JOptionPane.showMessageDialog(this,
"Veuillez entrer une adresse IP4 complète!");
}
Lorsque l'utilisateur n'entre pas tous les champs, le message d'erreur s'affiche. Par contre, lorsque l'utilisateur n'entre aucun champs, le message d'erreur s'affiche aussi alors qu'il ne devrait pas y avoir d'erreurs. Voyez vous d'ou vient le pb?
Merci d'avance
Pourquoi tu fais pas un test du style :
Si ip1 vide et ip2 vide et ip3 vide
//tous les champs sont vides
alors ok
sinon si
ip1 vide ou ip2 vide ou ip3 vide
//un ou plusieurs champs (mais pas les 3) sont vides
alors erreur
sinon
//aucun champ vide
ok.
Là tu trouverais ton compte