Erreur boucle while/if

Résolu
slamie Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 Slamie -
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 338 Date d'inscription   Statut Membre Dernière intervention   588
 
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
Slamie
 
Merci beaucoup ça a marché !!

Bonne journée
0