
java实验报告
-
2023年3月19日发(作者:产销量)实验名称类与对象指导教师
实验类型
□验证
√综合
实验学时4+10
实验日期
实验时间
实验编号1分组号1实验地点6A-418
一、实验目的和要求
1.掌握java的基本数据类型;掌握数组的定义和使用;
2.掌握java语言中的控制结构的使用;
3.掌握java语言中的类的定义与使用;
4.理解运算符的优先级。
5.通过编程和上机实验理解Java语言是如何体现面向对象编程基本思想,了解类的封装方法,以
及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP方式进行程序设计的方法,了
解类的继承性和多态性的作用。
二、实验环境(实验设备)
硬件:微型计算机P4
软件:WindowsXP+MicrosoftVisualC++6.0
三、实验原理及内容
1.题目:顾客管理设计
内容:
1)定义一个顾客类Customer,要求有属性:
id:long型,代表编号
name:String类对象,代表姓名
age:int型,代表年龄
sex:boolen型,代表性别(其中:true表示男,false表示女)
phone:String类对象,代表联系电话
方法有:
(1)Customer(longi,Stringn,inta,booleans,Stringp):有参构造函数,分别初始化编号、姓名、
年龄、性别和联系电话。
(2)publicStringtoString():以“姓名:年龄:联系电话”的形式作为方法的返回值。
(3)getXX()方法:得到属性值的方法。其中XX表示类中的各属性名。
(4)setXX(dd)方法:各属性值设置方法,其中XX表示类中的各属性名。
2)另有一个类Cmanage是对Customer类进行管理的类,该类中可使用对象数组对Customer类对象
进行存储,同时进行插入、修改、删除、查询等操作。
要求:集中指导2学时;课后学时10学时。
实验报告
2
实验解答:
1)写出顾客类Customer的代码。
publicclassCustomer{
longid;
Stringname;
intage;
booleansex;
Stringphone;
Customer(longi,Stringn,inta,booleans,Stringp){
id=i;
name=n;
age=a;
sex=s;
phone=p;
}
Customer(){}
publicStringtoString(){
return"n编号:"+id+"姓名:"+name+"年龄:"+"性别:"+sex+"联系电
话:"+phone;
}
publicvoidsetId(longi){
id=i;
}
publicvoidsetName(Stringn){
name=n;
}
publicvoidsetAge(inta){
age=a;
}
publicvoidsetSex(booleans){
sex=s;
}
publicvoidsetPhone(Stringp){
phone=p;
}
publiclonggetId(){
returnid;
}
publicStringgetName(){
returnname;
}
publicintgetAge(){
returnage;
实验报告
3
}
publicbooleangetSex(){
returnsex;
}
publicStringgetPhone(){
returnphone;
}
}
2)画出这两个类之间的UML图。
3)写出toString()方法的实现
publicStringtoString(){
return"n编号:"+id+"姓名:"+name+"年龄:"+"性别:"+sex+"联系电
话:"+phone;
}
Customer
id:long
name:String
age:int
sex:boolean
phone:String
toString():String
setId():void
……
getId():int
……
Cmanage
input():void
display():void
insert():void
delete():void
……
实验报告
4
4)写出所有的setter方法
publicvoidsetId(longi){
id=i;
}
publicvoidsetName(Stringn){
name=n;
}
publicvoidsetAge(inta){
age=a;
}
publicvoidsetSex(booleans){
sex=s;
}
publicvoidsetPhone(Stringp){
phone=p;
}
5)写出所有的getter方法
publiclonggetId(){
returnid;
}
publicStringgetName(){
returnname;
}
publicintgetAge(){
returnage;
}
publicbooleangetSex(){
returnsex;
}
publicStringgetPhone(){
returnphone;
}
6)写出Cmanage类中的属性
由Customer中的属性决定,即:编号id,姓名name,年龄age,性别sex,
电话号码phone。
7)写出Cmanage类中的构造方法
Cmanage();//无参构造函数
实验报告
5
8)写出Cmanage类中插入方法
publicvoidinsert(){
Scannerin=newScanner();
n("请输入要插入的人数:");
intn=t();
cu=newCustomer[n];
for(inti=0;i cu[i]=newCustomer(); n("请输入第"+(i+1)+"个要插入的顾客的信息:"); cu[i].id=ng(); cu[i].name=(); cu[i].age=t(); cu[i].sex=olean(); cu[i].phone=(); } } 9)写出Cmanage类中的查询方法 publicvoidsearch(){ intf=0; Scannerin=newScanner(); n("请输入查询的id号:"); longn=ng(); for(inti=0;i<;i++){ if(cu[i].id==n){ f=1; (cu[i].id+""+cu[i].name+" "+cu[i].age); n(""+cu[i].sex+""+cu[i].phone); } } if(f==0) n("不存在这个顾客信息!"); } 实验报告 6 实验报告 四、实验小结(包括问题和解决方法、心得体会、意见与建议等) 1.你设计该软件使用的哪个集成开发环境? 答:NetBeansIDE6.9 2.如果有下列语句Customerst[]=newCustomer[6];它表示什么含义?其中 st[1]还需要创建吗?为什么? 答:表示创建一个包含6个对象的对象数组,st[1]不需要再创建了,它已经包 含在对象数组中了。 er类与Cmanage类之间是什么关系 答:依赖关系。 4.通过本次实验,你什么收获?有什么不足? 答:通过这次实验,我知道了如何创建类和对象,明白了类与类之间存在的关系, 基本掌握对象数组的定义和使用。但存在些不足,在以后的学习中要不断积累知识。 五、指导教师评语 成绩批阅人日期