首页 > 编程语言 >使用Java开发一个简易健康计算器

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

时间:2024-07-13 22:25:33浏览次数:20  
标签:Java BMI System BMR 简易 体重 计算器 println 输入您

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

标签:Java,BMI,System,BMR,简易,体重,计算器,println,输入您
From: https://blog.csdn.net/OKGentleman/article/details/140406141

相关文章

  • IO输入输出流例子:Java对象输出json文本:
    读取文件:原始字节输入流(低级):publicclassCharCacheIOReader{publicstaticvoidmain(String[]args){try(//原始字节输入流(低级)Readerfr=newFileReader("src\\OutputStream.txt");//创建一个字......
  • 每周JAVA学习汇总
    本周我自学了Java的输入与输出包括了:使用Scanner类进行输入导入Scanner类:importjava.util.Scanner;创建Scanner对象:Scannerscanner=newScanner(System.in);读取不同类型的数据:读取字符串:StringinputString=scanner.nextLine();读取整数:intinputInt=scanner.ne......
  • 自学Java第二周
    本周学习一、Java能干些什么?1.共三个版本:JavaSE、JavaEE、JavaMEJavaSE:Java语言的(标准版),用于桌面应用开发,是其他两个版本的基础。JavaME:Java语言的(小型版),用于嵌入式电子设备或者小型移动设备。JavaEE:Java语言的(企业版),用于Web方向的网站开发(浏览器和服务器)。在这......
  • Java学习第二周
    标识符是用来给变量,类,方法以及包进行命名的。标识符的命名规则1.必须以字母、下划线“”、美元符“$”开头。2.其他部分可以是字母、下划线“”、美元符“$”和数字的人员组合·。3.大小写敏感,且长度无限制。4.不可以是Java的关键字。标识符使用规范表示类名的标识符:每个单......
  • java 基本语法1
    1.安装idea,java编译器,编译器会自动对代码进行编译,然后运行得到结果.idea分为社区版(免费),企业版(收费),https://www.jetbrains.com/zh-cn/idea/download/?section=windows从官网下载对应版本安装即可.2.java的数据类型有四类八项.整数,小数,字符,布尔.其中整数:intlongbyt......
  • java1
    1.安装一个Java开发环境,我安装的是JDK(从b站上学习的安装教程以及如何配置环境变量等等);同时我也对此进行了初步的了解JDK即Java开发工具包。它是用于构建在Java平台上发布的应用程序、Applet和组件的开发环境。JDK包含了Java编译器、Java文档生成工具、Java打包工具等,是整个Java......
  • [Java IO] 流原理及流的分类
    JavaIO流概念JavaIO(输入/输出)流是Java用于处理输入和输出操作的一种方式。JavaIO系统主要基于流(Stream)的概念,流是一组有序的数据序列,可以是输入流(从数据源读取数据)或输出流(向数据目标写入数据)。JavaIO流分类按操作数据单位不同分为:字节流(8bit)如二进制文件;字符流......
  • 从零学习的JAVAday8~day14
    在安装eclipse时我们直接打开eclipse官网我们点击下载并安装到合适的位置即可。打开eclipse后我们就可以创建Java文件了然后再创建一个Java类,这样我们就可以在里面写我们第一个java代码了这就是我们的第一个代码,意思为输出“helloworld”。我们可以看到运行代码后输出了“he......
  • 学习java进度报告
    helloJava假期`已经过去一周了,也已经完全的放纵一周了,也该拾起学习大业了.看到了暑假生活指导,还是很有压力的,以前只觉得java和之前学的编程语言差不多.现在才知道程度区别很大,以前最多写写简单的编程题目,这次要掌握JAVAweb的前后台开发技术,甚至编写javaweb信息管理系......
  • JavaScript的基础学习(一)
    从头开始学习JavaScript,重新开始打基础<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>......