Erreur boucle while/if

Résolu/Fermé
slamie Messages postés 1 Date d'inscription vendredi 13 novembre 2015 Statut Membre Dernière intervention 13 novembre 2015 - 13 nov. 2015 à 12:37
 Slamie - 18 nov. 2015 à 12:36
Bonjour,

je rencontre un problème avec ma boucle while et la conditionnelle qui va avec :

J'ai ça comme code :

while (testReponse==false){
Terminal.ecrireString("Êtes-vous une femme : O/N ? ");
r=Terminal.lireString();
if (r==O || r==N){
testReponse=true;
}
else {
testReponse=false;
}
}
if (r==O){
Terminal.ecrireStringln("Bonjour Madame ");
}
else {
Terminal.ecrireStringln("Bonjour Monsieur ");
}
}
}

Quand je compile tout se passe bien mais à l'exécution je n'arrive pas à sortir de la boucle while, qui me demande sans cesse "si je suis une femme". J'ai bien initialisé les variables en String nul

J'aimerai comprendre pourquoi ça ne fonctionne pas et ce qui cloche.

Un petit coup de main ?

Merci

1 réponse

Nexii Messages postés 333 Date d'inscription jeudi 13 mars 2014 Statut Membre Dernière intervention 14 mars 2017 549
13 nov. 2015 à 14:20
Salut,

1. Dans ta variable r= Terminal.lireString(), tu récupère donc une String !
Lorsque tu la compare dans ta condition tu ne peut pas utiliser "==" pour des String, tu dois utiliser :
if ( r.equals ("O") { .... }

En outre, tu demande si c'est une femme et dans ta condition, que l'on réponde "O" / Oui ou "N"/ Non, ton testReponse est True, ce qui est faux ;)
0
Merci beaucoup ça a marché !!

Bonne journée
0