为什么执行到输入身高后就不在运行了。

import java.util.Scanner;
public class SecondWork3 {

public static void main(String[] args) {
    // TODO 自动生成的方法存根
Scanner sc =new Scanner(System.in) ;
double BMI;
System.out.print("请输入你的性别:");
String sex = sc.next();
System.out.print("请输入你的体重:");
double weight =sc.nextDouble() ;
System.out.print("请输入你的身高:");
double height = sc.nextDouble();
BMI=weight/(height*height) ;
if(sex == "男")  
{
    if(BMI<=0)
      {System.out.println("输入错误,请重新输入。");} 
    if(BMI<20)
      { System.out.println("你的BMI数值为" + BMI +",在男性中体重属于过轻,请注意补充营养。");}
    if(BMI<25)
           { System.out.println("你的BMI数值为" + BMI +",在男性中体重属于较为正常,请继续保持。");}
    if(BMI<30)
           { System.out.println("你的BMI数值为" + BMI +",在男性中体重属于过重,请注意锻炼身体。");}
    if(BMI<35)
          { System.out.println("你的BMI数值为" + BMI +",在男性中体重属于肥胖,请注意合理安排饮食并坚持锻炼,加油!。");}
    if(BMI>=35)
            { System.out.println("你的BMI数值为" + BMI +",在男性中体重属于非常肥胖,请合理安排饮食并坚持锻炼,相信你一定可以的。");}
    
}


else if(sex == "女")
{
    
    if(BMI<=0)
      {System.out.println("输入错误,请重新输入。");}
    if(BMI<19)
      { System.out.println("你的BMI数值为" + BMI +",在女性中体重属于过轻,请注意补充营养。");}
    if(BMI<24)
      { System.out.println("你的BMI数值为" + BMI +",在女性中体重属于较为正常,请继续保持。");}
    if(BMI<29)
        { System.out.println("你的BMI数值为" + BMI +",在女性中体重属于过重,请注意锻炼身体。");}
    if(BMI<34)
      { System.out.println("你的BMI数值为" + BMI +",在女性中体重属于肥胖,请注意合理安排饮食并坚持锻炼,加油!。");}
    if(BMI>=34)
       { System.out.println("你的BMI数值为" + BMI +",在女性中体重属于非常肥胖,请合理安排饮食并坚持锻炼,相信你一定可以的。");}
    
}


}    

}

字符串比较时不应该使用==,而应该使用equals(),例如"男".equals(sex)。因为String是引用数据类型,==会比较两边变量的引用地址

看下你控制台输入的情况。输入身高后,会对你的性别做判断,只有输入男或者女才行,否则都不满足条件。

错误点:字符串比较用equals 增加点 如果输入不是男女 给他一个提示
改为如下代码

 public static void main(String[] args) {
        // TODO 自动生成的方法存根
        Scanner sc = new Scanner(System.in);
        double BMI;
        System.out.print("请输入你的性别:");
        String sex = sc.next();
        System.out.print("请输入你的体重:");
        double weight = sc.nextDouble();
        System.out.print("请输入你的身高:");
        double height = sc.nextDouble();
        BMI = weight / (height * height);
        if ("男".equals(sex)) {
            if (BMI <= 0) {
                System.out.println("输入错误,请重新输入。");
            }
            if (BMI < 20) {
                System.out.println("你的BMI数值为" + BMI + ",在男性中体重属于过轻,请注意补充营养。");
            }
            if (BMI < 25) {
                System.out.println("你的BMI数值为" + BMI + ",在男性中体重属于较为正常,请继续保持。");
            }
            if (BMI < 30) {
                System.out.println("你的BMI数值为" + BMI + ",在男性中体重属于过重,请注意锻炼身体。");
            }
            if (BMI < 35) {
                System.out.println("你的BMI数值为" + BMI + ",在男性中体重属于肥胖,请注意合理安排饮食并坚持锻炼,加油!。");
            }
            if (BMI >= 35) {
                System.out.println("你的BMI数值为" + BMI + ",在男性中体重属于非常肥胖,请合理安排饮食并坚持锻炼,相信你一定可以的。");
            }
        } else if ("女".equals(sex)) {
            if (BMI <= 0) {
                System.out.println("输入错误,请重新输入。");
            }
            if (BMI < 19) {
                System.out.println("你的BMI数值为" + BMI + ",在女性中体重属于过轻,请注意补充营养。");
            }
            if (BMI < 24) {
                System.out.println("你的BMI数值为" + BMI + ",在女性中体重属于较为正常,请继续保持。");
            }
            if (BMI < 29) {
                System.out.println("你的BMI数值为" + BMI + ",在女性中体重属于过重,请注意锻炼身体。");
            }
            if (BMI < 34) {
                System.out.println("你的BMI数值为" + BMI + ",在女性中体重属于肥胖,请注意合理安排饮食并坚持锻炼,加油!。");
            }
            if (BMI >= 34) {
                System.out.println("你的BMI数值为" + BMI + ",在女性中体重属于非常肥胖,请合理安排饮食并坚持锻炼,相信你一定可以的。");
            }
        } else {
            System.out.println("请输入正确性别");
        }

    }

很明显呀,你只定义了一个扫描器,却想多次使用,导致最后只有身高,你运行的出来才叫不正常呢,你应该对他们都各自定义一个扫描器才行,
Scanner sc =new Scanner(System.in) ;
Scanner sc1 =new Scanner(System.in) ;
Scanner sc2 =new Scanner(System.in) ;
将下面你的代码改一下

Scanner sc =new Scanner(System.in) ;
double BMI;
System.out.print("请输入你的性别:");
String sex = sc.next();
System.out.print("请输入你的体重:");
double weight =sc.nextDouble() ;
System.out.print("请输入你的身高:");
double height = sc.nextDouble();

改成这个

Scanner sc =new Scanner(System.in) ;
Scanner sc1 =new Scanner(System.in) ;
Scanner sc2 =new Scanner(System.in) ;
double BMI;
System.out.print("请输入你的性别:");
String sex = sc.next();
System.out.print("请输入你的体重:");
double weight =sc1.nextDouble() ;
System.out.print("请输入你的身高:");
double height = sc2.nextDouble();

就可以啦