 
		精慕门2153053
2019-01-01 17:30
public class HelloWorld {
    public static void main(String[] args) {
        int score = 94;
        String sex = "金";
        if(score>80){
            if(sex.equals("男")){
                System.out.println("进入男子组决赛");
            }else if(sex.equals("女")){
                System.out.println("进入女子组决赛");
                
            }{
                System.out.println("淘汰");
            }
        }
        
我想问的是最后一个System.out.println("淘汰");      //是表示当男女判定都不满足时候才输出淘汰的吗?
 
				题目没说要输出“淘汰”的要求,只要程序不出错,就说明这个语法没有else也是成立的
 
				你这个代码有问题,缺少外层if所对应的else,补全后代码如下:
public class HelloWorld {
public static void main(String[] args) {
int score = 94;
String sex = "金";
if(score>80){
if(sex.equals("男")){
System.out.println("进入男子组决赛");
}else if(sex.equals("女")){
System.out.println("进入女子组决赛");
}else {
System.out.println("请输入正确的性别");//当性别判断不是男也不是女的时候会显示错误提示
}
}else {
System.out.println("淘汰");//这是外层if的结构,判断分数<=80时会显示淘汰
}
}
}
 
				最后这个输出是第一个if的判断,是成绩小于80时的输出
 
				不管是男是女都会输出淘汰,因为{System.out.println("淘汰"); }前没有判断语句;加个else表示当男女判定都不满足时候才输出淘汰。
 
				是表示男女判断定都不满足时候才输出淘汰
Java入门第一季(IDEA工具)
1168089 学习 · 18754 问题
相似问题