JAVA语言程序设计试验五定义和使用类和对象试验报告_第1页
JAVA语言程序设计试验五定义和使用类和对象试验报告_第2页
JAVA语言程序设计试验五定义和使用类和对象试验报告_第3页
JAVA语言程序设计试验五定义和使用类和对象试验报告_第4页
JAVA语言程序设计试验五定义和使用类和对象试验报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、温州大学瓯江学院JAVA语言程序设计实验报告实验名称:实验五定义和使用类和对象班级:姓名:学号:实验地点:日期:一、实验目的:1、掌握类和构造方法的定义2、理解静态和非静态成员变量的区别3、掌握创建类实例的方法二、实验环境:有Java环境的计算机若干台三、实验内容和要求:1 下面是一个教师类 Teacher,用于学校某个系部的管理。系部在管理教师时,所关心的信息主 要有教师编号、姓名、性别、年龄、家庭住址、电话号码等,于是抽取这些属性来描述”教师这个实体。考虑到教师年龄、家庭住址、电话号码等不宜对无关人员公开,于是将这些数据设为私 有的成员变量(即实行保护)。要获得这些数据,必须使用类所提供的

2、一组方法,并给出口令。检查口令是否正确是由私有方法 checkPasswork完成的。阅读并编译这一程序,体会类的成员变 量、类的方法以及访问权限的设计。要求a:先不看下面代码,自己先设计一个类要求b:阅读下面程序,错误改正后,并进行验证测试。class Teacher /定义教师类 /声明成员变量Stri ng tCode; II教师编号Stri ng tName; II教师姓名Stri ng tSex; II教师性别private String tAge; II private String tAddr; II private Stri ng tTele nmb; II private S

3、tri ng tPassword;II教师年龄家庭住址电话号访问口令/声明构造方法Teacher(Stri ng password) tPassword = password; II声明成员方法private int checkPassword(Stri ng password) II私有方法:检查口令是否正确 if(tPassword=password)retur n 1; else retur n 0; void prin t()System.out.pri ntln (tcode=+tCode+n+t name=+tName+tage=+tAge +tAddr=+tAddr +tTele

4、 nmb=+tTele nmb);void setAge(Stri ng password,Stri ng age) /置年龄 if(checkPassword(password)=1) tAge =age; String getAge(Stri ng password) /取年龄 if(checkPassword(password) =1) retur n tAge;else retur n Wrong password!; void setAddr(Stri ng password,Stri ng addr) /置家庭地址 if(checkPassword(password)=1) tAd

5、dr =addr; Stri ng getAddr(Stri ng password) /取家庭地址 if(checkPassword(password)=1) retur n tAddr;else return Wrong password!; void setTele nmb(Stri ng password, String tele nmb) /置电话号码 if(checkPassword(password)=1) tTele nmb =tele nmb; Stri ng getTele nmb(Stri ng password) /取电话号码 if(checkPassword(pass

6、word) =1) return tTele nmb;else return Wrong password!; public class TestTeacherpublic static void main(String args)Teacher t1= new Teacher(123);t1.setAge(124,46);/errort1.setAge(123,48);/rightt1.setAddr(124,ttt);t1.setAddr(123, 学院);t1.setAddr(124,88362146);t1.setTele nmb(123,88362146);t1.pri nt();2

7、、参考上题实例,设计学生类class Stude nt /Stude nt是类名/声明成员变量int sNumber; / 学号Stri ng sName; / 姓名String sClass; / 班号public class Check0 / 主类 Check0public static void main(String args ) /主方法 main Student x= new Student( ); /创建 Student 类的对象 x/访问成员变量x. sName= myname ;x. sNumber=900001;System.out.println(x. sName);Sy

8、stem.out.println(x. sNumber);若要使Student类可用于一个全校同学的通信录程序,设计一具更完善的Student类,设计时应考虑抽取哪些属性来描述学生这个实体,哪些数据需要保护,应提供哪些方法,等等3、(课堂讲解实例)定义一个银行账户,要求有身份证号码,用户名和密码,余额等 属性:定义一个银行账户类,该类中有以下几个属性和方法:class Acco untint id;Stri ng n ame; float leftm on ey;String pass;public boolea n withdrawM on ey(float amoun t)public b

9、oolea n saveM on ey(float amount )要求:第一:使用eclipse给每个属性增加get和set方法,即封装性 第二在读余额的属性上要求验证密码第三、完成存钱和取钱的方法,要求也需要密码验证 最后写一个类测试账户类。附课堂代码:import javax.swi ng.JOptio nPane;publicclassacco unt privateintID ;privatefloatleft ;privateStringpass ;public int getID() return ID ;public void setID( int iD) ID = iD;pu

10、blic float getLeft() returnleftpublic void setLeft( float left) this . left = left;public String getPass() returnpass ;public void setPass(Stri ng pass) this . pass = pass; void inqury()(输入密码”);String pass1=JOptio nPane.show In putDialogif (pass1.equals(getPass() float a=getLeft();,a,余额 ”,0);JOption

11、Pane.showConfirmDialog( nullvoid despoit( floatmon ey) left =left +mon ey;void witharaw(float money) left =left -mon ey; class ban ktest public static voidmain(String args)/acco unt aofzdd =new acco un t();acco unt aofzdd;aofzdd= new acco un t(); aofzdd.setPass( 123); aofzdd.setLeft(456789123);aofzd

12、d.i nqury();4、编写一个学校类,其中包括成员变量 scoreLine(录取分数线)和对该变量进行设置和获取的方法。1)编写一个学生类,她的成员变量有考生的name(姓名)、id(考号卜intgretResult(综合成绩)、sports(体育成绩)。它还有获取学生的综合成绩和体育成绩的方法。2)编写一个录取类,它的一个方法用于判断学生是否符合录取条件。其中录取条件为:综合成绩在录取分数线之上,或体育成绩在96分以上并且综合成绩大于 300分。该类中的main()方法建立若干个学生对象, 对输出符合录取条件的学生, 输出其信息及“被 录取”。要求:1)学生类的构造方法带4个参数,分别

13、接收学生的姓名、考号、综合成绩和体育成绩。2)学校类仅包括静态成员变量和方法四、实验步骤:1.class Teacher /定义教师类 /声明成员变量Str ingtCode;/教师编号Str ingtName;/教师姓名Str ingtSex ;/教师性别privateStri ngtAge ; /教师年龄privateStri ngtAddr ;/家庭住址privateStri ngtTele nmb;/电话号privateStri ngtPassword;/访问口令声明构造方法Teacher(Stri ng password) tPassword = password; /声明成员方法p

14、rivateintcheckPassword(String password)/ 私有方法:检查口令是否正确 if (tPassword =password)returnvoid prin t()System. out .println(tcode=+ tage= +tAge + tAddr=void setAge(Stri ng password,Str ing age) if (checkPassword(password)=1) Stri ng getAge(Str ing password) if (checkPassword(password) =1) elseretur nWron

15、g password!void setAddr(Stri ng password,Stri ng addr) if (checkPassword(password)=1) Str ing getAddr(Stri ng password) if (checkPassword(password)=1)1; else return 0; +tCode +n+t name=+tName+ tAddr+tTele nm b=+tTele nmb );/置年龄tAge =age; /取年龄return tAge ;/置家庭地址tAddr =addr; /取家庭地址return tAddr ;else r

16、etur n Wrong password! ; void setTele nm b(Str ing password, Stri ng tele nmb)/置电话号码 if (checkPassword(password)=1) tTele nmb=tele nmb; Stri ng getTele nm b(Str ing password)/取电话号码 if (checkPassword(password) =1)returntTele nmbelse retur n Wrong password! ; public class yyf245publicstaticvoidmain( S

17、tr ing args)124, 46 ); /errort1.setAge(123, 48 ); /rightt1.setAddr(t1.setAddr(t1.setAddr(124, ttt );123,学院);124, 88362146);Teacher t1= new Teacher( 123 );t1.setAge(123,88362146);t1.setTele nmb(t1.pri nt();tcode=nulltnair.e =nullte= 45t-Addz =Teleziri = 2 S 3 62 L4 fi2.class gg /Stude nt是类名/声明成员变量int

18、 sNumber ;sName;Str ingStr ingStr ingStr ing/学号/姓名;/班号tNumber ;sClasspasswordgg(Stri ng b) password =b;int check(Stri ng a)if (a= password ) return1;else return 0;void settNumber(String a,String b)if (check(a)=1)tNumber =b;String gettNumber(String a)if (check(a)=1) return tNumberelsereturnno permitt

19、io nxpublicclasszz / 主类 Check0publicstaticvoidmai n(Stri ng args )/ gg x=new gg( 123 );/ 创建 Student 类的对象/访问成员变量x. sName=myname;x. sNumber =900001;x.settNumber(123,1547942);System.out .println (x.gettNumber(123);System.out .prin tl n(x.sName );System.out .prin tl n(x.sNumber );主方法main1547942iLynaiLfi

20、9GDD013.class Accou nt privateintid;privateStringname;privatefloatleftmoney;private String pass ;public int getlD() retur nidpublic void setID( int iD) id = iD;public float getLeft() return leftm oney ;public void setLeft( float left) this . leftmoney= left;public String getPass() return pass ;publi

21、c void setPass(Stri ng pass) this . pass = pass;float amou nt)public void withdrawM on ey(Stri ng a, i f (a= pass )if (leftmoney=amount)leftm oney=leftm oney-amou nt;System. outelset .println(取钱成功+取了System.elseout .println(余额不足“);System.out .println(密码错误);+amount+ 元“);public voidsaveM on ey(Stri ng

22、a,float amou nt )if (a= pass )leftm oney = leftm oney +amou nt;System. out .println( 存钱成功+存了 +amount+ 元); elseSystem. out .println( 密码错误“);floatin qury(Stri ng a)if ( pass =a) returnleftmoney ;else return -1;class zzpublic static void main( Stri ng args)Accou nt gg=new Accou nt();gg.setlD(0245);gg.s

23、etLeft(1OOO);gg.setPass( 123);gg.saveMo ney( 123,600);gg.withdrawMo ney(123 ,700);gg.withdrawMo ney(124 ,5000);System. out .println(gg.inqury(123);存钱成功存了 00.祈取钱成功取了0.0元 密码错误900.04.class acfu nStri ngname;Stri ngid ;privateintin tgretResult;privateintsports ;publicvoidset name(Str ing a)n ame =a;publicvoidsetid(Stri ng a)id =a;publicvoidset in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论