Erreur boucle while/if

Résolu
slamie Messages postés 1 Statut Membre -  
 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

  1. Nexii Messages postés 365 Statut Membre 591
     
    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
    1. Slamie
       
      Merci beaucoup ça a marché !!

      Bonne journée
      0