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

BMI计算器,几种方法,代码检查

BMI计算器,几种方法,代码检查

紫衣仙女 2023-04-26 16:56:44
这是我的第一个有几种方法的程序第一个必须将高度转换为英寸2、计算BMI第三次接收 BMI 并返回状态第 4 个是主要的,必须调用输入并生成输出问题是它不计算 BMI - 它输出 0。当我只用一种方法运行它时,它工作正常。可能出了什么问题?package bmiCalculator;java.util.Scanner;public class BmiCalculator {public static double bmi;public static int height;public static int feet;public static int inches;public static int weight;public static String status;  public static void convertToInches (){    height = feet * 12 + inches; }  public static void bmiCalculator (){     bmi = (weight * 703) / (height * height);}    public static void weightStatus () {        if (bmi < 18.5){           status = "underweight";          }        else if (bmi <= 24.9){            status = "normal";        }        else if (bmi <= 29.9){            status = "overweight";        }        else if (bmi >= 30){            status = "obese";        }    }    public static void main (String[] args){       System.out.println("Put your height in ft and inches");        Scanner sc = new Scanner(System.in);        feet = sc.nextInt();       inches = sc.nextInt();       System.out.println("Put your weight in pounds");       weight = sc.nextInt();       System.out.println("Height: " + feet + " feet, " + inches + " inches");       System.out.println("Weight: " + weight + " pounds");       System.out.println("Your BMI is " + bmi + "category" + status);    } }
查看完整描述

2 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

声明这些方法并不意味着所有方法都会执行。您需要main相应地调用这些方法。


例如:


   ...

   System.out.println("Put your weight in pounds");

   weight = sc.nextInt();



   System.out.println("Height: " + feet + " feet, " + inches + " inches");

   System.out.println("Weight: " + weight + " pounds");

   // call corresponding method to calculate:


   convertToInches();

   bmiCalculator();

   weightStatus();

   // now all of those method are executed.


   System.out.println("Your BMI is " + bmi + "category" + status);

将所有这些方法和属性声明为静态并不是一个好的做法。请了解OOP工作原理。


查看完整回答
反对 回复 2023-04-26
?
呼如林

TA贡献1798条经验 获得超3个赞

首先,您需要在用户输入这样的值后调用这些方法。


...   

System.out.println("Put your weight in pounds");

weight = sc.nextInt();


convertToInches();

bmiCalculator();

weightStatus();

System.out.println("Height: " + feet + " feet, " + inches + " inches");

...

调用方法的顺序很重要,因为它们之间存在依赖关系。此外,您需要在 BMI 除法之前将除数和被除数转换为双倍,因为 int/int = int 和 java 舍入该值。


public static void bmiCalculator() {

    bmi = (double)(weight * 703) / (double)(height * height);

}


查看完整回答
反对 回复 2023-04-26
  • 2 回答
  • 0 关注
  • 94 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信