晓风残月N 2021-07-15 00:50 采纳率: 50%
浏览 33
已采纳

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

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 +",在女性中体重属于非常肥胖,请合理安排饮食并坚持锻炼,相信你一定可以的。");}
    
}


}    

}

  • 写回答

4条回答 默认 最新

  • 八云黧 2021-07-15 01:04
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已采纳回答 7月15日
  • 创建了问题 7月15日