java - 循环总是执行两次

标签 java loops if-statement

我目前正在做一个学校项目,在该项目中我必须询问用户他/她的性别,然后显示一个有效的错误。但由于某种原因,在让用户再次输入之前,循环总是执行两次。 示例:

Veuillez entrer le sex de l'individu f/F ou h/H: e

Erreur veuillez entrer des valeurs valides
Veuillez entrer le sex de l'individu f/F ou h/H: 

Erreur veuillez entrer des valeurs valides
Veuillez entrer le sex de l'individu f/F ou h/H: 

这是代码

 System.out.println ("Veuillez entrer le sex de l'individu f/F ou h/H: "); //first time asking for user input
 sex = Clavier.lireChar();

 while ((sex != ('f') || sex != ('F')) || (sex != ('h') || sex != ('H'))){ 
       System.out.println ("Erreur veuillez entrer des valeurs valides");  //error message
       System.out.println ("Veuillez entrer le sex de l'individu f/F ou h/H: "); //asking for user inoput again
       sex = Clavier.lireChar();
 }
 if (sex == ('f') || sex == ('F')) {
       nbFemmes = nbFemmes + 1;
 } else if (sex == ('h') || sex == ('H')) {
       nbHommes = nbHommes +1;
 }                        

最佳答案

问题出在您的 while 条件逻辑上。尝试以下操作并确保您理解它。如果您不明白条件逻辑,请告诉我。快乐编码!

while ((sex != ('f') && sex != ('F')) && (sex != ('h') && sex != ('H'))){ 
   System.out.println ("Erreur veuillez entrer des valeurs valides");  //error message
   System.out.println ("Veuillez entrer le sex de l'individu f/F ou h/H: "); //asking for user inoput again
   sex = Clavier.lireChar();
}

关于java - 循环总是执行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60081571/

相关文章:

r - 嵌套if-如果在R中抛出 “unexpected error”

java - 测验游戏 - IF 语句和可能的 Else If?

java - 从 Java 数组中删除重复值的最优雅方法是什么

r - 如何在 R 中的循环中包含 GLM

java - 更改 PreferenceCheckbox 的框颜色

java - 如何使用空行跳出 while 循环?

c++ - 尝试打印数组什么都不打印

Java if/else 与比较字符串

java - Google App Engine Java 错误

java - 这段代码片段与 Applet 类发生了什么?