其实这就是从我学校的资源,都比较基础的算法题,先尽量每天都做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结果保留 两位小数)
代码
package suanfa;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class BMICalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("输入学生人数: ");
int n = scanner.nextInt();
List<StudentInfo> studentInfos = new ArrayList<>();
for (int i = 1; i <= n; i++) {
System.out.println("输入第" + i + "个学生的体重和身高(体重kg 身高m):");
double weight = scanner.nextDouble();
double height = scanner.nextDouble();
double bmi = Math.round(weight / (height * height) * 100.0) / 100.0;
String status = getWeightStatus(bmi);
// 存储学生信息
studentInfos.add(new StudentInfo(weight, height, bmi, status));
}
// 输出表头
System.out.println("体重\t身高\tBMI指数\t胖瘦情况");
// 逐行输出每个学生的信息
for (StudentInfo info : studentInfos) {
System.out.printf("%.2f\t%.2f\t%.2f\t%s%n", info.weight, info.height, info.bmi, info.status);
}
scanner.close();
}
private static String getWeightStatus(double bmi) {
if (bmi < 18.5) {
return "过轻";
} else if (bmi < 25) {
return "正常";
} else if (bmi < 30) {
return "过重";
} else {
return "肥胖";
}
}
static class StudentInfo {
double weight;
double height;
double bmi;
String status;
StudentInfo(double weight, double height, double bmi, String status) {
this.weight = weight;
this.height = height;
this.bmi = bmi;
this.status = status;
}
}
}
结果