0
votes

Tandis que la condition de test de boucle

J'essaie d'exécuter tout en boucle jusqu'à ce que l'utilisateur entrait oui ou non

pourquoi ne peut-il pas y avoir une ou dans la fonction de test au lieu de et?

en utilisant ou, peut être soit oui ou non . xxx


0 commentaires

3 Réponses :


0
votes

parce que ! réponse.equals ("oui") &&! réponse.equals ("non") dit essentiellement tandis que réponse n'est pas "oui" et réponse n'est pas "non".

Pour en faire un ou vous pouvez le faire comme: xxx

ce qui signifie, tandis que la condition suivante est pas vrai; Condition: réponse est "oui" ou réponse est "non"


0 commentaires

0
votes

tandis que (! Réponse.equals ("Oui") &&! Réponse.equals ("Non")) signifie que la boucle se termine lorsque la condition devient fausse. Selon la législation de Morgan, ! (! Réponse.equals ("Oui") &&! Réponse.equals ("Non")) est Réponse.equals ("Oui") || Réponse.equals ("Non") . C'est-à-dire que la boucle se termine lorsque la réponse est "oui" ou "non" - c'est exactement ce que vous voulez.

Si vous changez && sur || , la boucle se terminerait lorsque la réponse est les deux "oui" et "non" au même temps, ce qui est impossible.


0 commentaires

0
votes

Si vous utilisez le court-circuit ou / et / et (|| et & &&), le système n'évalue pas l'intégralité de l'expression si elle n'a pas besoin. Donc, si l'utilisateur entre "non", la première partie qui vérifie s'il n'est pas "oui" évalue à vrai. Étant donné qu'un ou des conditions n'en a besoin que d'un vrai pour évaluer le vrai, il n'évalue rien d'autre et ne revient que de retourner.

Vous avez besoin && parce que vous dites si la réponse n'est pas oui et n'est pas non demandée. Voici plus sur les opérateurs booléens à court-circuit: https://users.trew.edu/burdd /Javafordummies4/shortcirculiteval.pdf .


0 commentaires