JAVA题目~身体质量指数类BMI Exp03-3

Exp03-身体质量指数类BMI。

【问题描述】定义一个身体质量指数类BMI,包含height(身高,m为单位)和weight(体重,kg为单位)两个成员变量。添加两个参数的构造方法,用两个参数分别初始化两个成员变量。
方法getBMI()返回bmi值(体重除以身高的平方)。方法assessBMI(double bmi)返回参数bmi值对应的类型。方法show()调用getBMI()计算bmi,并使用bmi值做参数调用assessBMI()方法,输出身高、体重、bmi和类型。
在TestBMI类的main()方法中输入身高和体重,用该数据创建对象,输出其身高、体重、bmi和类型。所有输出数据,小数点后保留3位。输入输出格式如样例所示,其中:红色文字为真正的程序输入,蓝色文字为输入提示。


【样例输入1】
1.68
65
【样例输出1】

Please enter height(m):
1.68
Please enter weight(kg):
65
height 1.68m, weight 65.0kg, BMI is 23.030, Normal weight

【样例输入2】
1.7
70
【样例输出2】

Please enter height(m):
1.70
Please enter weight(kg):
70
height 1.7m, weight 70.0kg, BMI is 24.221, Overweight

【样例输入3】
1.72
50
【样例输出3】

Please enter height(m):
1.72
Please enter weight(kg):
50
height 1.72m, weight 50.0kg, BMI is 16.901, Low weight

【样例输入4】
1.6
80
【样例输出4】

Please enter height(m):
1.60
Please enter weight(kg):
80
height 1.6m, weight 80.0kg, BMI is 31.250, Fat or Obesity 

import java.util.Scanner;

class BMI {
	private double height;
	private double weight;

	public BMI(double height, double weight) {
		super();
		this.height = height;
		this.weight = weight;
	}

	public double getBMI() {
		return weight / (height * height);
	}

	public String assessBMI(double bmi) {
		String s = new String();
		if (bmi < 18.5) {
			s = "Low weight";
		} else if (bmi >= 18.5 && bmi < 24) {
			s = "Normal weight";
		} else if (bmi >= 24 && bmi < 28) {
			s = "Overweight";
		} else {
			s = "Fat or Obesity";
		}
		return s;
	}

	public String show() {
		return assessBMI(getBMI());
	}
}
	public class TestBMI {
	public static void main(String args[])
	{
Scanner sc=new Scanner (System.in);
System.out.printf("Please enter height(m):\n");
double height=sc.nextDouble();
System.out.printf("Please enter weight(kg):\n");
double weight=sc.nextDouble();
BMI s1=new BMI(height,weight);
System.out.printf("height %.3f, weight %.3f kg,",height,weight);
System.out.printf("BMI is %.3f,%s",s1.getBMI(),s1.show());
sc.close();
}
}

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值