开发一个简单的健康计算器应用程序,它可以接收用户的输入(如年龄、性别、身高、体重),并计算出用户的BMI(身体质量指数)和基础代谢率(BMR)。
一、BMI(Body Mass Index,身体质量指数)是用来评估体重是否适宜的一个常用指标。它通过体重(以千克为单位)除以身高(以米为单位)的平方来计算。
BMI的正常范围通常定义为18.5到24.9(kg/㎡)。具体来说:
- BMI小于18.5被认为是体重过低;
- BMI在18.5到24.9之间被认为是正常范围;.
- BMI在25到29.9之间被认为是超重;
- BMI在30及以上被认为是肥胖。
二、基础代谢率(BMR)的具体数值因人而异主要受年龄、性别、体重、身高、体脂比例和肌肉量等因素影响。以下是根据不同公式计算的成年男女平均BMR的大概范围
- 男性:大约在1500至2500卡路里/天之间。
- 女性:大约在1200至2000卡路里/天之间
BMR的计算可以使用不同的公式,其中Harris-Benedict公式是比较常见的:
- 对于男性:BMR=88.362+(13.397 x体重[kg])+ (4.799x身高[cm])-(5.677x年龄[岁])
- 对于女性:BMR=447.593+(9.247x体重[kg])+(3.098x身高[cm])-(4.330x年龄[岁])
三、功能代码
package com.itheima.test;
//导包
import java.util.Scanner;
public class AllTest {
/*
目标 设计健康计算器
包含两个功能
1:计算BMI身体质量质数
2:计算BMR基础代谢率
设计完成之后
在程序入口
1:接收用户的相关基础信息。
2:调用 计算BMI的方法
调用 计算BMR的方法
*/
public static void main(String[] args) {
//1:使用Scanner对象接收用户相关的基础信息
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
// 调用方法 --之前 做友情提示
System.out.println("请输入您的身高(米)");
double height = sc.nextDouble();
System.out.println("请输入您的体重(KG)");
double weight = sc.nextDouble();
System.out.println("请输入您的性别(1男 2女)");
int sex = sc.nextInt();
System.out.println("请输入您的年龄");
int age = sc.nextInt();
//计算BMI ---调用方法
double bmi = getBMI(weight, height);
System.out.println("您的BMI指数为:" + bmi);
if (bmi < 18.5)
System.out.println("体重过轻");
else if (bmi >= 18.5 && bmi <= 24.9) {
System.out.println("正常范围");
} else if (bmi >= 25 && bmi <= 29.9) {
System.out.println("超重");
} else {
System.out.println("肥胖");
}
//计算BMR --调用方法
double bmr = getBMR(weight, height, sex, age);
System.out.println("您的BMR值为:" + bmr);
if (sex == 1) {
if (bmr >= 1500 && bmr <= 2500)
System.out.println("正常范围");
else {
System.out.println("超出范围");
}
}
if (sex == 2) {
if (bmr >= 1200 && bmr <= 2000)
System.out.println("正常范围");
else {
System.out.println("超出范围");
}
}
}
/*
设计 计算BMI的方法
分析该方法是不是需要传递数据,需要 传递 double 体重KG double 身高 米
分析该方法是不是需要返回数据,需要 返回 double 返回就是 BMI值
*/
public static double getBMI(double weight, double height) {
double bmi = weight / (height * height);//计算BMI 值
return bmi;
}
/*
设计 计算BMR的方法
分析该方法是不是需要传递数据,需要 传递 double 体重KG double 身高 米 int 性别 1男 2女 int 年龄
分析该方法是不是需要返回数据,需要 返回 double 返回就是 BMR值
*/
public static double getBMR(double weight, double height, int sex, int age) {
double bmr = 0;
if (sex == 1) {
bmr = 88.362 + (13.397 * weight) + (4.799 * height * 100) - (5.677 * age);
} else if (sex == 2) {
bmr = 447.593 + (9.247 * weight) + (3.098 * height * 100) - (4.330 * age);
}
return bmr;
}
}
四、执行效果
标签:Java,BMI,System,BMR,简易,体重,计算器,println,输入您 From: https://blog.csdn.net/OKGentleman/article/details/140406141请输入您的身高(米)
1.85
请输入您的体重(KG)
60
请输入您的性别(1男 2女)
1
请输入您的年龄
23
您的BMI指数为:17.531044558071585
体重过轻
您的BMR值为:1649.4260000000004
正常范围