使用Java开发一个简易健康计算器

        开发一个简单的健康计算器应用程序,它可以接收用户的输入(如年龄、性别、身高、体重),并计算出用户的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;
    }
}

四、执行效果

请输入您的身高(米)
1.85
请输入您的体重(KG)
60
请输入您的性别(1男 2女)
1
请输入您的年龄
23
您的BMI指数为:17.531044558071585
体重过轻
您的BMR值为:1649.4260000000004
正常范围 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值