java实验五
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验5 封装
一、实验目的
1、掌握java中方法的定义;
2、掌握java方法使用实例变量;
3、掌握封装的方法;
二、实验学时
2 学时
三、实验内容
1、在实验4的基础上执行封装:
①用privae修饰实例变量
name(String 类型);//用于存放姓名;
age(int);//用于存放年龄;
height(double); // 身高,单位:米
weight(double); // 体重,单位:kg
程序:
private String name;
private int age;
private double height;
private double weight;
②为每个实例变量加上getter/setter
程序:
package person;
public class person {
private String name;
private int age;
private double height;
private double weight;
public void setName(String n) { name = n;
} //set方法
public String getName() {
return name;
} //get方法
public void setAge(int a) {
if (a < 0 || a > 150) {
throw new IllegalArgumentException("非法的年龄值:" + a);
//System.out.println("非法的年龄值:" + a);
} else {
age = a; //系统自动生成代码时,会将实际变量与局部变量区别开}
}
public int getAge() {
return age;
}
public void setHeight(double h) {
height = h;
}
public double getHeight() {
return height;
}
public void setWeight(double w) {
if ( w< 0 || w > 150) {
throw new IllegalArgumentException("非法的体重值:" + w);
//System.out.println("非法的体重值:" + a);
} else {
weight = w; //系统自动生成代码时,会将实际变量与局部变量区别开}
}
public double getWeight() {
return weight;
}
public void info() {
System.out.println(name+","+age+",身高"+height+",体重"+weight);
}
}
3、在Person类中添加名为calcBMI的方法,用于计算并返回个人的BMI值,方法头如下public double calcBMI()
注:首先写一个person的类,并在里面添加calcBMI方法,再写一个测试类计算BMI 程序一:
package shiyan;
public class person {
String name;
int age;
double height;
double weight;
public double calcBMI(){
double bmi=weight/(height*height);
return bmi;
}
}
程序二:
package shiyan;
public class liti {
public static void main(String[] args) {
person p=new person();
="machaoling";
p.height=1.67;
p.weight=80;
double bmi=p.calcBMI();
System.out.println(bmi);
}
}
运行结果:28.685144680698485
4、在Person类中添加名为getBmiInfo的方法,用于返回个人的胖瘦情况,方法头如下:public String getBmiInfo()
过轻:低于18.5
正常:18.5-24.99
过重:25-28
肥胖:28-32
非常肥胖, 高于32
注:首先写一个person的类,并在里面添加calcBMI方法和getBmiInfo方法,再写一个测试类计算BMI和返回个人的胖瘦情况
程序一:
package shiyan;
public class person {
String name;
int age;
double height;
double weight;
public double calcBMI() {
double bmi = weight / (height * height);
return bmi;
}
public String getBmiInfo() {
double bmi = calcBMI();
if (bmi < 18.5) {
return ("过轻");
} else if (bmi < 25) {
return ("正常");
} else if (bmi < 28) {
return ("过重");
} else if (bmi < 32) {
return ("肥胖");
}
return ("非常肥胖");
}
}
程序二:
package shiyan;
public class liti {
public static void main(String[] args){
person p=new person();
="machaoling";
p.height=1.67;
p.weight=80;
double bmi=p.calcBMI();
System.out.println(bmi);
String info=p.getBmiInfo();
System.out.println(info);
}
}
程序运行结果:
28.685144680698485
肥胖
5、编写测试类PersonTest作为主类(即:拥有main方法)完成如下测试。
编写应用程序,以自己个人信息作为参数分别创建Person类的实例对象,并在主方法main 中编写代码输出个人信息,和BMI信息。