问答详情
源自:4-4 Java条件语句之嵌套 if

为什么我的eles每次都是提示错误

public class HelloWorld {

    public static void main(String[] args) {

int score = 94;

String sex = "女";

        if (score>80);{

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

            {

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

            }

            else

            {

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

            }

              else

            {

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

            }

    

        }

        

    }



提问者:weixin_慕雪1108993 2019-08-27 10:19

个回答

  • Nikolor
    2019-08-28 16:39:54

    if()后面没有分号;

    男子女子组输出写反了

    第一个if少个}

    参照代码:

    public class HelloWorld {

        public static void main(String[] args) {

    int score = 94;

    String sex = "女";

            if(score>80){

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

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

                }

                else{

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

                }

            }

            else{

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

            }

            

    }

    }


  • 疯疯傻傻到天涯
    2019-08-28 09:28:33

    int score = 94;
    String sex = "女";
    
    if (score > 80) {
        if (sex.equals("女")) {
            System.out.println("进入男子组决赛");
        } else {
            System.out.println("进入女子组决赛");
        }
    } else {
        System.out.println("进入决赛");
    }

    这是我的,你的代码风格太个性,还是普通点好,结构看起来太混乱。

    另:

    1、一个else是应该和一个if配对的,你的代码里,是两个else和一个if配对,本身就是错的;

    2、if()条件后面是不加;的,加了;号这句就结束了。建议好好学习下基础。

  • 雷顿
    2019-08-27 18:57:43

    首先讲解代码块(代码块包括了大括号在内)

    https://img2.mukewang.com/5d650be800014fbf10320245.jpg

    if...else的基本语法是这样的:

    if(逻辑表达式) {
        代码
    } else {
        代码
    }

    一个if后面可以跟若干个 else if,但只能跟一个else

    https://img3.mukewang.com/5d65093400011fa006040339.jpg

    可以看到,第二个if代码块后面跟着两个else语句,所以出错。而第一个if代码块后面却没有else,消失的else跑到第一个if代码块里面去了。

    但因为你的编程风格问题,所以你很难定位出错误的位置

  • 雷顿
    2019-08-27 10:35:40

     if (score>80);{

    if语句中小括号之间不能有;号

    其次嵌套不合理,第二个else语句不能放在第一个if代码块中

  • 雷顿
    2019-08-27 10:32:12

    你的代码问题比较多,看一下我的吧

    public class HelloWorld {

        public static void main(String[] args) {

            int score = 94;

            String sex = "女";

            if (score > 80) {

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

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

                }else{

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

                }

            }else {

                System.out.println("很遗憾未能进入决赛");

            }

    }

    }


  • qq_慕运维9529910
    2019-08-27 10:29:44

    public class HelloWorld {

        public static void main(String[] args) {

    int score = 94;

    String sex = "女";

            if(score>80){

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

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

                } else {

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

                }

            } else {

            System.out.println("淘汰");

            

            

            }

    }

    }

    这是我的