• Java代码基础算法练习---2024.3.14


    其实这就是从我学校的资源,都比较基础的算法题,先尽量每天都做1-2题,练手感。毕竟离我真正去尝试入职好的公司(我指的就是中大厂,但是任重道远啊),仍有一定的时间,至少要等我升本之后再说


    题目

    计算身体质量指数BMI及胖瘦程度判断。 任务描述:身体质量指数BMI(Body Mass Index ),简称体质指数,是国际上常用的衡量人体胖瘦 程度以及是否健康的一个标准。计算公式为:BMI=体重÷身高²。(体重单位:千克;身高单位:米。) 成人的BMI数值范围及胖瘦标准:BMI<18.5,过轻 ;18.5≤BMI<25,正常;25≤BMI<30,过重;BMI≥30, 肥胖。请输入n个同学的体重和身高,输出每个同学的BMI指数及胖瘦情况。(注:n<=10,BMI结果保留 两位小数)

    代码

    1. package suanfa;
    2. import java.util.ArrayList;
    3. import java.util.List;
    4. import java.util.Scanner;
    5. public class BMICalculator {
    6. public static void main(String[] args) {
    7. Scanner scanner = new Scanner(System.in);
    8. System.out.print("输入学生人数: ");
    9. int n = scanner.nextInt();
    10. List<StudentInfo> studentInfos = new ArrayList<>();
    11. for (int i = 1; i <= n; i++) {
    12. System.out.println("输入第" + i + "个学生的体重和身高(体重kg 身高m):");
    13. double weight = scanner.nextDouble();
    14. double height = scanner.nextDouble();
    15. double bmi = Math.round(weight / (height * height) * 100.0) / 100.0;
    16. String status = getWeightStatus(bmi);
    17. // 存储学生信息
    18. studentInfos.add(new StudentInfo(weight, height, bmi, status));
    19. }
    20. // 输出表头
    21. System.out.println("体重\t身高\tBMI指数\t胖瘦情况");
    22. // 逐行输出每个学生的信息
    23. for (StudentInfo info : studentInfos) {
    24. System.out.printf("%.2f\t%.2f\t%.2f\t%s%n", info.weight, info.height, info.bmi, info.status);
    25. }
    26. scanner.close();
    27. }
    28. private static String getWeightStatus(double bmi) {
    29. if (bmi < 18.5) {
    30. return "过轻";
    31. } else if (bmi < 25) {
    32. return "正常";
    33. } else if (bmi < 30) {
    34. return "过重";
    35. } else {
    36. return "肥胖";
    37. }
    38. }
    39. static class StudentInfo {
    40. double weight;
    41. double height;
    42. double bmi;
    43. String status;
    44. StudentInfo(double weight, double height, double bmi, String status) {
    45. this.weight = weight;
    46. this.height = height;
    47. this.bmi = bmi;
    48. this.status = status;
    49. }
    50. }
    51. }

    结果

  • 相关阅读:
    wxpython中notebook控件的一些用法总结
    wpf工程中加入Hardcodet.NotifyIcon.Wpf生成托盘
    PHP语言、B/S手术麻醉临床信息管理系统源码
    Elasticsearch版本和Spring Data Elasticsearch版本对应关系
    STM32CubeMX串口通讯
    JSP 基本介绍及使用。
    无人直播间
    Deformable Attention学习笔记
    LabVIEW学习记录 - 实时显示时间
    Linux C语言编译报错:undefined reference to `sem_init‘(编译时加 -lpthread)
  • 原文地址:https://blog.csdn.net/Sakurapaid/article/details/136724109