当前位置:   article > 正文

初写JAVA的四道题(1)_从控制台输入身高体重,计算出bmi并输出控制台java程序怎么写

从控制台输入身高体重,计算出bmi并输出控制台java程序怎么写

计算BMI

我们先来看题目:

  • 写程序计算身体质量指数BMI,BMI=体重(千克)除以身高(米)的平方。
  • 输入体重(单位是千克)和身高(单位是米),输出BMI指数值,BMI指数值保留4位小数(提示:使用printf方法);
  • 根据BMI指数值再输出身体指数状况:
  • 如果BMI小于18.5,输出: It's underweight
  • 如果BMI大于等于18.5,且小于24,表示体重正常,输出: It's normal weight
  • 如果BMI大于等于24,表示体重偏重,输出: It's fat

输入样例:78 1.85

输出样例:The BMI is 22.7904

                It's normal weight

代码的开头:
 

  1. public class Main//定义一个Main类,类名首字母大写,不能用数字开头
  2. {
  3. public static void main(String[] args)//main方法
  4. {
  5. }
  6. }

开头的代码需要有意识注意:class不能漏掉

然后根据题目,代码构成:1.输入体重和身高 2.计算BMI并格式化输出 3.判断bmi范围并输出相应的BMI评价

手动输入数据

Java里面手动输入数据,需要一个方法—————Scanner

Scanner是一个类包含了可以手动输入数据的方法,我们要使用一个规定的语句:

import java.util.Scanner;

加在代码的最开头(记得不要忘记分号哦)

代码中间的应用展示

Scanner wtht = new Scanner(System.in);

这句话的意思是 我们创建一个对象 对象类型是Scanner ,这里面的除了wtht可更改,其他可以默认保持不动。

既然创建了对象,我们应该用两个变量来接收这个数据,那为什么是两个呢?因为输入需要我们输入体重和身高。

这里创建变量的语句:

  1. double weight = wtht.nextDouble();
  2. double height = wtht.nextDouble();

我们可以根据C语言的知识来大概推测这句话的逻辑:

. 在C语言中是访问结构体的成员变量,这里的就不是结构体了而是一个类,类名叫Scanner。那访问的是类里面的一个函数,因为()在C语言中是函数调用符号。这里具体就不叫函数了,为了这个是方法的调用。

才疏学浅的我,暂时认为:一个叫函数一个叫方法,本质都是一个东西。只是为了区分Java育C语言。

所以这句话可以是:

创建一个变量(double类型)变量名是体重,接收wtht(Scanner类型)里的nextDouble方法赋予的值。

这个值恰好是由我们输入决定。

计算并且输出BMI

根据题目所示公式:

BMI = weight / height ^ 2

这个好写:

  1. double a = height * height;
  2. double bmi = weight / a;

输出bmi这个涉及print系列语句

System.out.printf("The BMI is %.4f\n",bmi);

System.out.printf

翻译为:系统输出 printf “f” == fomat 格式化输出(为什么格式化输出,这里题目上让我们保留四位小数输出)

系统输出这个格式是固定的。

范围的判断

  1. if(bmi < 18.5)
  2. System.out.println("It's underweight");
  3. else if(bmi >= 18.5 && bmi < 24)
  4. System.out.println("It's normal weight");
  5. else if(bmi > 24)
  6. System.out.println("It's fat");

这个和C类似,就不再分析。

但是这里出现print系列的语句之一:
换行输出:println("      ");

可见,java里面输出什么使用print系列语句少不了前面的”系统输出“

完整代码参考:

  1. import java.util.Scanner;
  2. public class Main
  3. {
  4. public static void main(String[] args)
  5. {
  6. Scanner wtht = new Scanner(System.in);
  7. double weight = wtht.nextDouble();
  8. double height = wtht.nextDouble();
  9. double a = height * height;
  10. double bmi = weight / a;
  11. System.out.printf("The BMI is %.4f\n",bmi);
  12. if(bmi < 18.5)
  13. System.out.println("It's underweight");
  14. else if(bmi >= 18.5 && bmi < 24)
  15. System.out.println("It's normal weight");
  16. else if(bmi > 24)
  17. System.out.println("It's fat");
  18. }
  19. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/389643
推荐阅读
相关标签
  

闽ICP备14008679号