题目的主要信息:

  • =(kg)/((m)×(m))体重指数 = 体重 (kg) / ( 身高 (m) × 身高 (m) )
  • 体重指数(bmi)小于18.5属于偏瘦(左闭右开),介于18.5和20.9之间,属于苗条(左闭右开),介于20.9和24.9之间属于适中(左闭右开),超过24.9偏胖(左闭右开)
  • 输入身高体重,计算体重指数并输出上述身材状态

具体做法:

输入了身高体重正好单位也是公式中的千克和米,我们直接用体重除身高的平方即可得到体重指数bmi,然后利用多个判断语句判断所属区间,输出相应身材状态.

alt

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double height = scanner.nextDouble();
        double weight = scanner.nextDouble();
        double bmi = weight / (height * height); //计算bmi
        if(bmi < 18.5) //区间小于18.5偏瘦
            System.out.println("偏瘦");
        else if(bmi < 20.9) //在不小于18.5的基础上再小于20.9属于苗条
            System.out.println("苗条");
        else if(bmi < 24.9) //在不小于20.9的基础上再小于24.9属于适中
            System.out.println("适中");
        else  //不小于24.9即偏胖
            System.out.println("偏胖");
    }
}

复杂度分析:

  • 时间复杂度:O(1)O(1),只有判断语句,常数时间
  • 空间复杂度:O(1)O(1),无额外空间