• 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. }

    结果

  • 相关阅读:
    Layout工程师们--Allegro X AI实现pcb自动布局布线
    mysql 触发器使用详解
    router和route的区别?
    Linux虚拟机安装Redis
    js面向对象之封装,继承,多态,类的详解
    java-net-php-python-jspm服务器密码管理系统计算机毕业设计程序
    sql计算占比
    【SpringMVC】SpringMVC接受请求参数和数据回显
    消息队列(六):服务器设计
    Leetcode39.组合总和
  • 原文地址:https://blog.csdn.net/Sakurapaid/article/details/136724109