有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么体重指数计算结果不正确?

我做了以下程序,但我的输出与书中的答案不匹配

import java.util.Scanner;

public class BMI_Index {
    public static void main (String [] args) {
        Scanner kbd = new Scanner(System.in);
        System.out.print("Enter weght in pound: ");
        double pound = kbd.nextDouble();
        double kg = pound * 0.45359237;
        System.out.print("Enter hight in inches: ");
        double inches = kbd.nextDouble();
        double meters = inches * 0.0254;
        double BMI = kg/(inches * inches);
        System.out.println("BMI is " + BMI);
        if (BMI < 18.5) {
            System.out.print("Underweight");
        }
        if (BMI >= 18.5 && BMI < 25.0) {
            System.out.print("Normal");
        }
        if (BMI >= 25.0 && BMI < 30.0) {
            System.out.print("Overweight");
        }
        if (BMI >= 30.0) {
            System.out.print("Obese");
        }
    }
}

通过这段代码,我得到了下面的输出:

Weight: 146 (inches)
Height: 70 (inches)
Result: 0.013515201228571428 (BMI)

我的书预测的产出是:

Weight: 146 (inches)
Height: 70 (inches)
Result: 20.948603801493316 (BMI)

共 (2) 个答案

  1. # 1 楼答案

    你必须决定是用英寸和磅还是米和公斤来计算BMI

  2. # 2 楼答案

    改变

    double BMI = kg/(inches * inches);
    

    double BMI = kg/(meters * meters);