Probleme avec boucle while avec un char
meli:0
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai un problème avec une boucle while. J'essaie de faire une boucle pour valider une reponse. Cependant je suis debutante et je ne comprend pas pourqui ce que j'ai fait ne fonctionne pas. Je me suis dit que c'etait peut etre a cause que le signe different de s'utilise differement avec un char mais je n'ai rien trouver sur internet. La premiere boucle est repeter sans arret meme si je met f ou F ou t ou T et j'ai essayer d'enlever cette boucle et le meme probleme m'arrive lorsque je suis a lautre boucle != avec le char choix ... SVP je suis extremement débutante donc des explication claire avec des mots clairs seraient appréciés Merci :)
while ( reponse != 'f' || reponse != 'F' || reponse != 't' || reponse != 'T' ){
System.out.println ( "Veuillez entrer un choix valide" );
System.out.println ( "Voulez-vous mettre fin au programme ou traiter une" +
" facture (Saisir f pour fermer ou t pour continuer)" );
reponse = Clavier.lireCharLn ();
}
while ( reponse == 't' || reponse == 'T' ){
while ( choix != 'O' || choix != 'o' || choix != 'n' || choix != 'N' ){
System.out.println ( "Veuillez entrer un choix valide" );
System.out.println ( "Voulez-vous entrer des informations sur d'autres" +
"vetements (Saisir o pour oui / n pour non)" );
choix = Clavier.lireCharLn ();
}
while ( choix == 'O' || choix == 'o' ){
System.out.println ( "CATEGORIES DE VETEMENTS" );
System.out.println ( "1- Pantalons" );
j'ai un problème avec une boucle while. J'essaie de faire une boucle pour valider une reponse. Cependant je suis debutante et je ne comprend pas pourqui ce que j'ai fait ne fonctionne pas. Je me suis dit que c'etait peut etre a cause que le signe different de s'utilise differement avec un char mais je n'ai rien trouver sur internet. La premiere boucle est repeter sans arret meme si je met f ou F ou t ou T et j'ai essayer d'enlever cette boucle et le meme probleme m'arrive lorsque je suis a lautre boucle != avec le char choix ... SVP je suis extremement débutante donc des explication claire avec des mots clairs seraient appréciés Merci :)
while ( reponse != 'f' || reponse != 'F' || reponse != 't' || reponse != 'T' ){
System.out.println ( "Veuillez entrer un choix valide" );
System.out.println ( "Voulez-vous mettre fin au programme ou traiter une" +
" facture (Saisir f pour fermer ou t pour continuer)" );
reponse = Clavier.lireCharLn ();
}
while ( reponse == 't' || reponse == 'T' ){
while ( choix != 'O' || choix != 'o' || choix != 'n' || choix != 'N' ){
System.out.println ( "Veuillez entrer un choix valide" );
System.out.println ( "Voulez-vous entrer des informations sur d'autres" +
"vetements (Saisir o pour oui / n pour non)" );
choix = Clavier.lireCharLn ();
}
while ( choix == 'O' || choix == 'o' ){
System.out.println ( "CATEGORIES DE VETEMENTS" );
System.out.println ( "1- Pantalons" );
A voir également:
- Probleme avec boucle while avec un char
- Coco char - Accueil - Réseaux sociaux
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
1 réponse
C'est un problème de logique, tes conditions sont toujours vraies :
Par exemple si la réponse est 'f' alors
Ce qu'il te faut ce ne sont pas des OU logiques, mais des ET logique.
reponse != 'f' || reponse != 'F' || reponse != 't' || reponse != 'T' choix != 'O' || choix != 'o' || choix != 'n' || choix != 'N'
Par exemple si la réponse est 'f' alors
reponse != 'f'sera faux, mais
reponse != 'F'sera vrai, et inversement si la réponse est 'F' alors
reponse != 'F'sera faux, mais
reponse != 'f'sera vrai. Donc dans tous les cas
reponse != 'f' || reponse != 'F'sera vrai à cause du
||.
Ce qu'il te faut ce ne sont pas des OU logiques, mais des ET logique.
reponse != 'f' && reponse != 'F' && reponse != 't' && reponse != 'T' choix != 'O' && choix != 'o' && choix != 'n' && choix != 'N'