如何在 Java 中实现体重指数 (BMI)

How to implement Body Mass Index (BMI)in Java

我的问题是如何在没有 Scanner 方法的情况下使用 Math.round 和 Math.pow 来实现?

这是我的代码:

import java.util.Scanner;
    public class BMI{
       public static void main(String args[]) {
          Scanner sc = new Scanner(System.in);
          System.out.print("Input weight in kilogram: ");
          double weight = sc.nextDouble();
          System.out.print("\nInput height in meters: ");
          double height = sc.nextDouble();
          double BMI = weight / (height * height);
          System.out.print("\nThe Body Mass Index (BMI) is " + BMI + " kg/m2");
       }
    }

我的另一个想法是它只是为了某个值。在我的例子中,重量为 75.0,尺码为 178.0

public static void main(String args[]) {

    double weight = 75.0;
    double height = 178.0;

    double BMI = weight / (height * height);
    System.out.print("\nThe Body Mass Index (BMI) is " + BMI + " kg/m2");
 }

由开发者选择如何初始化参数。
如果不想使用scanner,简单的方法就是直接添加。
初始化也可以来自各种数据源:数据库、文件(xml、文本)、网络服务等。
出于学校目的,也许您可​​以尝试构建 BMI class 并使用构造函数传递可能需要的任何参数。
具有带参数的构造函数的优点是您可以构建具有不同结果(基于参数)的各种 BMI 实例,而不仅仅是所有 class 实例只有 1 个结果(由于事实上输入是相同的)。

例如:

public class BMI 
{
    double BMI;
    public BMI(double weight,double height )
    {
        this.BMI = weight / (height * height);
    }
    
    public String toString()
    {
        return "\nThe Body Mass Index (BMI) is " + this.BMI + " kg/m2";
    }
    
    public static void main(String args[])
    {
        BMI test1 = new BMI(100,1.90);
        BMI test2 = new BMI(68.77,1.60);
        System.out.println(test1);
        System.out.println(test2);
    }
}

输出:

The Body Mass Index (BMI) is 27.70083102493075 kg/m2
The Body Mass Index (BMI) is 26.863281249999993 kg/m2