This question already has answers here:
How do I compare strings in Java?
(23个答案)
2年前关闭。
我和一群朋友一起学习编程,我们被一眼看上去很简单的东西所困扰。
基本上,我们有一个for循环,可以运行一次。在内部,我们得到一些用户输入。然后,我们使用一个条件来确定是否应将+1添加到countM(男性计数)或+1添加到countF(女性计数)。
问题->问题来自条件句。当用户输入为“ F”时,程序应执行countF ++(如果要求已满),但是即使用户输入为F而不是M,countM ++也是执行一次。
(23个答案)
2年前关闭。
我和一群朋友一起学习编程,我们被一眼看上去很简单的东西所困扰。
基本上,我们有一个for循环,可以运行一次。在内部,我们得到一些用户输入。然后,我们使用一个条件来确定是否应将+1添加到countM(男性计数)或+1添加到countF(女性计数)。
问题->问题来自条件句。当用户输入为“ 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++
09-30 17:03