27.基础语法-健康饮食计划案例01
27 健康饮食计划案例01
27.1 需求
1.键盘录入用户的身高、年龄、体重、性别、活动级别等基本信息
2.根据基本信息计算BMI,判断用户体型,设立运动目标
3.根据基本信息计算BMR(每日基础代谢热量)和TDEE(每日总热量消耗)
4.根据运动目标计算每日建议摄入热量
5.根据每日摄入热量计算每日营养素分配
27.2 代码实现
package com.itheima.healthy; import java.text.DecimalFormat; import java.util.Scanner; public class HeimaHealthy { public static void main(String[] args) { // 1.录入用户信息 // 1.1 创建 Scanner 对象 Scanner scanner = new Scanner(System.in); // 1.2 录入身高 System.out.print("请输入身高(单位:厘米): "); short height = scanner.nextShort(); // 1.3 录入体重 System.out.print("请输入体重(单位:千克): "); double weight = scanner.nextDouble(); // 1.4 录入年龄 System.out.print("请输入年龄: "); byte age = scanner.nextByte(); // 1.5 录入性别 // System.out.print("请输入性别(男/女): "); // String gender = scanner.next(); // 没有nextchar() 方法, 只能用next(), 字符串形式, 可以只输入一个字符 System.out.print("请输入性别(0:男/1:女): "); // 升级, 用户输入汉字不如数字方便 byte gender = scanner.nextByte(); // 没有nextchar() 方法, 只能用next(), 字符串形式, 可以只输入一个字符 // 1.6 录入活动级别 // System.out.print("请输入活动级别(久坐/轻度/中度/高度): "); // String activityLevel = scanner.next(); System.out.print("请输入活动级别(0:久坐/1:轻度/2:中度/3:高度): "); byte activityLevel = scanner.nextByte(); // 2.计算BMI, 并且判断体型, 设定运动目标 // 2.1 换算 米 计算BMI double heightInMeters = height / 100.0 ; // 身高转换成米, 100.0 不会因为浮点数精度问题, 丢失精度 double bmi = weight / (heightInMeters * heightInMeters); // 2.2 判断体型 String bodyType=""; if (bmi < 18.5) { bodyType = "偏瘦"; } else if (bmi >= 18.5 && bmi < 24) { bodyType = "正常"; } else if (bmi >= 24 && bmi < 28) { bodyType = "过重"; } else { bodyType = "肥胖"; } // 2.3 设定运动目标 String goal=""; if (bodyType.equals("偏瘦")) { goal = "增肌"; } else if (bodyType.equals("过重") || bodyType.equals("肥胖")) { goal = "减脂"; } else { goal = "保持"; } DecimalFormat df = new DecimalFormat("0.00"); // 保留两位小数 System.out.println("您的BMI是:" + df.format(bmi) + ",体型" + bodyType ); // 使用保留位数的bmi System.out.println("建议您持续:" + goal + ",加油!"); } } ------------------------------------------------ 执行后 D:\Software\jdk17\bin\java.exe "-javaagent:D:\Software\JetBrainsIntelliJ IDEA 2025.2.4\lib\idea_rt.jar=13988" -Dfile.encoding=UTF-8 -classpath D:\Software\JavaCode\p1-basic\out\production\p1-basic com.itheima.healthy.HeimaHealthy 请输入身高(单位:厘米): 178 请输入体重(单位:千克): 73.5 请输入年龄: 31 请输入性别(0:男/1:女): 0 请输入活动级别(0:久坐/1:轻度/2:中度/3:高度): 0 您的BMI是:23.20,体型正常 建议您持续:保持,加油! Process finished with exit code 0
———————————————————————————————————————————————————————————————————————————
无敌小马爱学习
浙公网安备 33010602011771号