定义类——定义类BMI,表示一个人的身体质量指数(BMI)

定义类BMI

定义一个类BMI表示一个人的身体质量指数状况,BMI类的要求如下:
1、定义一个private的成员变量name,表示人的姓名;
2、定义一个成员变量height,表示人的身高,单位是千克;
3、定义一个成员变量weight,表示人的体重,单位是米;
4、定义一个构造器,只初始化人的姓名,身高和体重则按默认值初始化;
5、再定义一个构造器,初始化人的姓名、身高和体重三个成员变量,具体可参考Main类中的调用;
6、定义一个公有方法:String getName();返回该BMI对象对应的人的姓名;
6、定义公有方法getBMI( ),该方法只返回某个BMI对象的BMI指数值,如果身高值为0,则直接返回0.0;

定义BMI类:

class BMI{
}

Main类代码: 

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        BMI bmi1 = new BMI("zhangsan");
        Scanner scanner = new Scanner(System.in);
        String name = scanner.next();
        double height = scanner.nextDouble();
        double weight = scanner.nextDouble();
        BMI bmi2 = new BMI(name,height,weight);
        System.out.printf("姓名:"+bmi1.getName()+"的BMI是:%.4f\n",bmi1.getBMI());
        System.out.printf("姓名:"+bmi2.getName()+"的BMI是:%.4f\n",bmi2.getBMI());
    }
}



/* 请在后面填写答案 */

我们按照题意,一个一个模块来 

定义属性:


直接上代码:

      private String name;
      public double height;
      public double weight;

小技巧:确定成员变量类型,有时看看main代码,你就了然了

定义构造器:

4.是默认构造器为什么传参呢?还是再看一眼main方法

new调用默认构造器时,()里初始化了姓名。调用时传了参,身为构造器肯定要大胆接收

public BMI(String name1)//只初始化名字的构造器
      {
       name = name1;
       weight = 0.0;
       height = 0.0;//按默认值初始化,0,但是这里我写1.0?
      }

 5.看了眼题,有参构造器,不过多参数请注意变量顺序和传参的顺序一一对应。

于是: 

 public BMI(String name2,double hei,double wei)//有参构造器
     {
         name = name2;
         height = hei;
         weight = wei;//对应赋值,注意顺序
     }

 定义方法:

 注意审题:

(现在)一般方法没说私有,我们都写public,说公有,也是public。

public String getName()//好习惯:先写方法名,再写返回类型;该大写就大写
     {
         return name;
     }//getter方法

bmi = 体重 / (身高^2)

题上说,若身高为0,那么直接返回0.0

 public double getBMI()
     {
         if(height != 0.0)
         return weight / (height * height);
         else
             return 0.0;

     }

这道题还是注意格式的规范,等定义类写的顺手,java才算真正是入门:
 

完整代码参考:

class BMI{
      private String name;
      public double height;
      public double weight;
      public BMI(String name1)
      {
       name = name1;
       weight = 0.0;
       height = 0.0;
      }
     public BMI(String name2,double hei,double wei)
     {
         name = name2;
         height = hei;
         weight = wei;

     }
     public String getName()
     {
         return name;
     }
     public double getBMI()
     {
         if(height != 0.0)
         return weight / (height * height);
         else
             return 0.0;

     }

}

题外话:

定义类概要知识入口

定义类:定义一个类Square表示正方形-CSDN博客


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值