为了账号安全,请及时绑定邮箱和手机立即绑定

代码问题,为什么会同时输出进入女子决赛和输入错误啊

public class Exerc17 {

public static void main(String[] args){

int score=94;

String sex="女";

if(score>80){

if(sex.equals("女")){

System.out.println("进入女子决赛");

}if(sex.equals("男")){

System.out.println("进入男子决赛");

}else{

System.out.println("输入错误");

}

}else{

System.out.println("不能进入决赛");

}

}

}


正在回答

4 回答

public class Exerc17 {

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("不能进入决赛");

}

}

}


0 回复 有任何疑惑可以回复我~

public class Hello {
    public static void main (String[] args) {
        int score = 90;
        String sex = "女";
        if (score >80) {
            if (sex.equals("女")) {
                System.out.println("进入女子组决赛");
            }else {
                System.out.println("进入男子组决赛");
            }
        }else {
            System.out.println("不进入决赛");
        }
    }
}

注意缩进和对齐,这样就不会看错对应的if-else,条理很清晰!要养成一个好习惯,这样可以避免很多不必的麻烦

2 回复 有任何疑惑可以回复我~
#1

风停啦

把缩进调一下,很容易就可以发现问题,第一个else用的有问题,else有个特性就是紧跟前面第一个没有匹配else的if匹配
2016-04-21 回复 有任何疑惑可以回复我~
#2

kiss仔仔 提问者

谢谢!
2016-04-21 回复 有任何疑惑可以回复我~

else在if(score>80)的条件下,如果程序进行到socre>80时,开始识别你之后if语句中的条件,其中string="女",输出”进入女子决赛“;但程序是按照你编写的顺序一条条识别的,当进行完if(sex.equals("女"))的语句时,进入下一句if(sex.equals("男")),显然这不是男的,所以进行下一个else的条件,输出“输入错误”。

0 回复 有任何疑惑可以回复我~
#1

kiss仔仔 提问者

谢谢!刚看明白
2016-04-21 回复 有任何疑惑可以回复我~

public class Exerc17 {

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("不能进入决赛");

}

}

}


0 回复 有任何疑惑可以回复我~
#1

kiss仔仔 提问者

谢谢!
2016-04-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

代码问题,为什么会同时输出进入女子决赛和输入错误啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信