Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中

Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中

  • 题目
    • 程序说明
    • 题目槽点
  • 代码:Test2_BMI.java
  • 运行实例

题目

在这里插入图片描述

程序说明

Test2_BMI.java:BMI类程序
这里我们参考编程练习题3.6的代码

题目槽点

题目内容表述的非常简略,简略得已经有很多地方省略了
刚开始根本搞不清楚出题人到底想干什么
后来才逐渐意识到应该把给出的构造方法和测试程序放在一起
我个人想到在前面本来也有求BMI的题,所以用到3.6的内容

代码:Test2_BMI.java

import java.util.Scanner;public class Test2_BMI {double weight, height_feet, height_inches;String name;int age;private static double KILOGRAMS_PER_POUND = 0.45359237;private static double METERS_PER_FEET = 0.3048;private static double METERS_PER_INCH = 0.0254;public Test2_BMI(String name, int age, double weight, double feet, double inches){this.age = age;this.name = name;this.weight = weight;height_feet = feet;height_inches = inches;}public double getBMI(){// Compute BMIdouble weightInKilograms = weight * KILOGRAMS_PER_POUND;double heightInMeters = height_feet * METERS_PER_FEET + height_inches * METERS_PER_INCH;return weightInKilograms / (Math.pow(heightInMeters,2));}public static void main(String[] args){Scanner input = new Scanner(System.in);// Prompt the user to enter weight in poundsSystem.out.print("Enter weight in pounds: ");double weight = input.nextDouble();// Prompt the user to enter height in feetSystem.out.print("Enter feet: ");double height_feet = input.nextDouble();// Prompt the user to enter height in inchesSystem.out.print("Enter inches: ");double height_inches = input.nextDouble();System.out.print("Enter name: ");String name = input.next();System.out.print("Enter age: ");int age = input.nextInt();Test2_BMI tb = new Test2_BMI(name, age, weight, height_feet, height_inches);double bmi = tb.getBMI();// Display resultSystem.out.println("BMI is "+bmi);if(bmi < 18.5)System.out.println("Underweight");else if(bmi < 25)System.out.println("Normal");else if(bmi < 30)System.out.println("Overweight");elseSystem.out.println("Obese");}
}

运行实例

Enter weight in pounds: 140
Enter feet: 5
Enter inches: 10
Enter name: liming
Enter age: 20
BMI is 20.087702275404553
Normal


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部