java - 循环总是执行两次
问题描述
我目前正在做一个学校项目,在那个项目中,我必须询问用户他/她的性别,然后显示一个有效的错误。但由于某种原因,循环总是在让用户再次输入之前执行两次。例子:
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();
}
推荐阅读
- python - 运行多个 python 脚本,一个要求输入,不允许输入脚本运行。另外,我如何同时运行脚本(Python)
- javascript - Node.js 将变量类型从 Object 更改为 Undefined
- azure - 使用 az 工具检查密钥保管库的创建时间
- r - 有没有办法选择数据框中的每一行?
- reactjs - 使用数组映射时的无限循环
- javascript - 使用 React.js 在站点的页脚上显示不同的 CTA 按钮,具体取决于页面路径
- image - Matlab 脚本不显示图像(imshow)
- github - 创建 PR 时 GitHub 独角兽:“此页面加载时间过长。”
- android - 有没有办法检查相机设备是否可供应用程序在 Android 上使用?
- python - 比较数据框中的值并使用它计算另一个属性