我正在和我的一群 friend 一起学习编程,我们被一些乍一看很简单的东西所困扰。
基本上我们有一个运行一次的 for 循环。在里面我们得到一些用户输入。然后我们使用条件来确定是否应该向 countM(男性计数)添加 +1 或向 countF(女性计数)添加 +1。
问题 -> 问题出在条件句上。当用户输入为“F”时,程序应该执行 countF++(如果满足要求),但是即使用户输入是 F 而不是 M,countM++ 也会每次执行一次。
public static void main(String[] args) {
int countM = 0;
int countF = 0;
int peso;
int estatura;
String sexo;
for (int i = 1; i <= 2; i++) {
if(i == 2){
JOptionPane.showMessageDialog(null, "El nº de chicos aptos es " + countM);
JOptionPane.showMessageDialog(null, "El nº de chicas aptas es " + countF);
break;
}
JOptionPane.showMessageDialog(null, "Teclea los datos del alumno nº "+ i);
estatura = Integer.parseInt(JOptionPane.showInputDialog("Teclea la estatura del alumno (cm)"));
peso = Integer.parseInt(JOptionPane.showInputDialog("Teclea el peso del alumno en kg"));
sexo = JOptionPane.showInputDialog("Teclea el sexo del alumno (M o F)");
if(sexo == "F"){
if(estatura>160 && peso>60){
countF++;
}
}
else{
if(estatura>170 && peso>70){
countM++;
}
}
}
}
最佳答案
使用sexo.equalsIgnoreCase("f");
代替sexo=="f"
并添加一个检查,确保用户仅输入 M 或 F,否则它仍然会执行 CountM++
关于java - for 循环内的条件问题 (JAVA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52714884/