JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx

上传人:b****7 文档编号:16389882 上传时间:2023-07-13 格式:DOCX 页数:18 大小:58.05KB
下载 相关 举报
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第1页
第1页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第2页
第2页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第3页
第3页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第4页
第4页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第5页
第5页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第6页
第6页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第7页
第7页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第8页
第8页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第9页
第9页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第10页
第10页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第11页
第11页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第12页
第12页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第13页
第13页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第14页
第14页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第15页
第15页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第16页
第16页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第17页
第17页 / 共18页
JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx

《JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx》由会员分享,可在线阅读,更多相关《JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx(18页珍藏版)》请在冰点文库上搜索。

JAVA语言程序设计实验五定义和使用类和对象实验报告 2.docx

JAVA语言程序设计实验五定义和使用类和对象实验报告2

**大学**学院

JAVA语言程序设计实验报告

实验名称:

实验五定义和使用类和对象

班级:

姓名:

学号:

实验地点:

日期:

一、实验目的:

1、掌握类和构造方法的定义

2、理解静态和非静态成员变量的区别

3、掌握创建类实例的方法

二、实验环境:

有Java环境的计算机若干台

三、实验内容和要求:

1.下面是一个教师类Teacher,用于学校某个系部的管理。

系部在管理教师时,所关心的信息主要有教师编号、姓名、性别、年龄、家庭住址、电话号码等,于是抽取这些属性来描述"教师"这个实体。

考虑到教师年龄、家庭住址、电话号码等不宜对无关人员公开,于是将这些数据设为私有的成员变量(即实行保护)。

要获得这些数据,必须使用类所提供的一组方法,并给出口令。

检查口令是否正确是由私有方法checkPasswork完成的。

阅读并编译这一程序,体会类的成员变量、类的方法以及访问权限的设计。

要求a:

先不看下面代码,自己先设计一个类

要求b:

阅读下面程序,错误改正后,并进行验证测试。

classTeacher//定义教师类

{//声明成员变量

StringtCode;//教师编号

StringtName;//教师姓名

StringtSex;//教师性别

privateStringtAge;//教师年龄

privateStringtAddr;//家庭住址

privateStringtTelenmb;//电话号

privateStringtPassword;//访问口令//声明构造方法

Teacher(Stringpassword){tPassword=password;}//声明成员方法

privateintcheckPassword(Stringpassword)//私有方法:

检查口令是否正确

{if(tPassword==password)return1;elsereturn0;}

voidprint(){

System.out.println("tcode="+tCode+\n+"tname="+tName

+"tage="+tAge+"tAddr="+tAddr+"tTelenmb="+tTelenmb);

}

voidsetAge(Stringpassword,Stringage)//置年龄

{if(checkPassword(password)==1){tAge=age;}}

StringgetAge(Stringpassword)//取年龄

{if(checkPassword(password)==1)returntAge;

elsereturn"Wrongpassword!

";}

voidsetAddr(Stringpassword,Stringaddr)//置家庭地址

{if(checkPassword(password)==1){tAddr=addr;}}

StringgetAddr(Stringpassword)//取家庭地址

{if(checkPassword(password)==1)returntAddr;

elsereturn"Wrongpassword!

";}

voidsetTelenmb(Stringpassword,Stringtelenmb)//置电话号码

{if(checkPassword(password)==1){tTelenmb=telenmb;}}

StringgetTelenmb(Stringpassword)//取电话号码

{if(checkPassword(password)==1)returntTelenmb;

elsereturn"Wrongpassword!

";}

}

publicclassTestTeacher{

publicstaticvoidmain(Stringargs[]){

Teachert1=newTeacher("123");t1.setAge("124","46");//error

t1.setAge("123","48");//right

t1.setAddr("124","ttt");

t1.setAddr("123","学院");

t1.setAddr("124","88362146");

t1.setTelenmb("123","88362146");

t1.print();

}

}

2、参考上题实例,设计学生类

classStudent//Student是类名

{

//声明成员变量

intsNumber;//学号

StringsName;//姓名

StringsClass;//班号

}

publicclassCheck0//主类Check0

{

publicstaticvoidmain(Stringargs[])//主方法main

{Studentx=newStudent();//创建Student类的对象x

//访问成员变量

x.sName=″myname″;

x.sNumber=900001;

System.out.println(x.sName);

System.out.println(x.sNumber);

}

}

若要使Student类可用于一个全校同学的通信录程序,设计一具更完善的Student类,设计时应考虑抽取哪些属性来描述"学生"这个实体,哪些数据需要保护,应提供哪些方法,等等

 

3、(课堂讲解实例)定义一个银行账户,要求有身份证号码,用户名和密码,余额等属性:

定义一个银行账户类,该类中有以下几个属性和方法:

classAccount

{

intid;

Stringname;

floatleftmoney;

Stringpass;

publicbooleanwithdrawMoney(floatamount){}

publicbooleansaveMoney(floatamount){}

}

要求:

第一:

使用eclipse给每个属性增加get和set方法,即封装性

第二在读余额的属性上要求验证密码

第三、完成存钱和取钱的方法,要求也需要密码验证

最后写一个类测试账户类。

附课堂代码:

importjavax.swing.JOptionPane;

publicclassaccount{

privateintID;

privatefloatleft;

privateStringpass;

publicintgetID(){returnID;

}

publicvoidsetID(intiD){

ID=iD;}

publicfloatgetLeft(){

returnleft;

}

publicvoidsetLeft(floatleft){

this.left=left;

}

publicStringgetPass(){

returnpass;

}

publicvoidsetPass(Stringpass){

this.pass=pass;

}

voidinqury()

{

Stringpass1=JOptionPane.showInputDialog("输入密码");

if(pass1.equals(getPass()))

{floata=getLeft();

JOptionPane.showConfirmDialog(null,a,"余额",0);}

}

voiddespoit(floatmoney)

{left=left+money;}

voidwitharaw(floatmoney)

{left=left-money;}

}

classbanktest

{publicstaticvoidmain(Stringargs[])

{

//accountaofzdd=newaccount();

accountaofzdd;

aofzdd=newaccount();

aofzdd.setPass("123");

aofzdd.setLeft(456789123);

aofzdd.inqury();

}

}

4、编写一个学校类,其中包括成员变量scoreLine(录取分数线)和对该变量进行设置和获取的方法。

1)编写一个学生类,她的成员变量有考生的name(姓名)、id(考号)、intgretResult(综合成绩)、sports(体育成绩)。

它还有获取学生的综合成绩和体育成绩的方法。

2)编写一个录取类,它的一个方法用于判断学生是否符合录取条件。

其中录取条件为:

综合成绩在录取分数线之上,或体育成绩在96分以上并且综合成绩大于300分。

该类中的main()方法建立若干个学生对象,对输出符合录取条件的学生,输出其信息及“被录取”。

要求:

1)学生类的构造方法带4个参数,分别接收学生的姓名、考号、综合成绩和体育成绩。

2)学校类仅包括静态成员变量和方法

 

四、实验步骤:

1.

classTeacher//定义教师类

{//声明成员变量

StringtCode;//教师编号

StringtName;//教师姓名

StringtSex;//教师性别

privateStringtAge;//教师年龄

privateStringtAddr;//家庭住址

privateStringtTelenmb;//电话号

privateStringtPassword;//访问口令//声明构造方法

Teacher(Stringpassword){tPassword=password;}//声明成员方法

privatebooleancheckPassword(Stringpassword){//私有方法:

检查口令是否正确

if(tPassword==password)

returntrue;

else

returnfalse;

}

voidprint(){

System.out.println("tcode="+tCode+"\ntname="+tName+

"\ntage="+tAge+"\ntAddr="+tAddr+"\ntTelenmb="+tTelenmb);

}

voidsetAge(Stringpassword,Stringage){//置年龄

if(checkPassword(password))

tAge=age;

}

StringgetAge(Stringpassword){//取年龄

if(checkPassword(password))

returntAge;

else

return"Wrongpassword!

";

}

voidsetAddr(Stringpassword,Stringaddr){//置家庭地址

if(checkPassword(password))

tAddr=addr;

}

StringgetAddr(Stringpassword){//取家庭地址

if(checkPassword(password))

returntAddr;

else

return"Wrongpassword!

";

}

voidsetTelenmb(Stringpassword,Stringtelenmb){//置电话号码

if(checkPassword(password))

tTelenmb=telenmb;

}

StringgetTelenmb(Stringpassword){//取电话号码

if(checkPassword(password))

returntTelenmb;

else

return"Wrongpassword!

";

}

}

publicclassTestTeacher{

publicstaticvoidmain(Stringargs[]){

Teachert1=newTeacher("123");

t1.setAge("124","46");//error

t1.setAge("123","48");//right

t1.setAddr("124","ttt");

t1.setAddr("123","学院");//right

t1.setAddr("124","88362146");

t1.setTelenmb("123","88362146");//right

t1.print();

}

}

2.

classStudent{//Student是类名

intsNumber;//学号

StringsName;//姓名

StringsClass;//班号

privateStringsAge;//年龄

privateStringsAddr;//家庭住址

privateStringsTelenmb;//联系电话

privateStringsDormitory;//寝室号

privateStringsPassword;//访问口令

Student(Stringpassword){sPassword=password;}//声明成员方法

privatebooleancheckPassword(Stringpassword){

if(sPassword==password)

returntrue;

else

returnfalse;

}

voidprint(){

System.out.println("sName="+sName+"\nsNumber="+sNumber+"\nsClass"+sClass+

"\nsage="+sAge+"\ntAddr="+sAddr+"\nsTelenmb="+sTelenmb+"\nsDormitory="+sDormitory);

}

voidsetAge(Stringpassword,Stringage){//置年龄

if(checkPassword(password))

sAge=age;

}

StringgetAge(Stringpassword){//取年龄

if(checkPassword(password))

returnsAge;

else

return"Wrongpassword!

";

}

voidsetAddr(Stringpassword,Stringaddr){//置家庭地址

if(checkPassword(password))

sAddr=addr;

}

StringgetAddr(Stringpassword){//取家庭地址

if(checkPassword(password))

returnsAddr;

else

return"Wrongpassword!

";

}

voidsetTelenmb(Stringpassword,Stringtelenmb){//置电话号码

if(checkPassword(password))

sTelenmb=telenmb;

}

StringgetTelenmb(Stringpassword){//取电话号码

if(checkPassword(password))

returnsTelenmb;

else

return"Wrongpassword!

";

}

voidsetDormitory(Stringpassword,Stringdormitory){//置寝室号

if(checkPassword(password))

sDormitory=dormitory;

}

StringgetDormitory(Stringpassword){//取寝室号

if(checkPassword(password))

returnsDormitory;

else

return"Wrongpassword!

";

}

}

publicclassCheck0{//主类Check0

publicstaticvoidmain(Stringargs[]){//主方法main

Studentx=newStudent("123");//创建Student类的对象x

//访问成员变量

x.sName="张三";

x.sNumber=900001;

x.sClass="1801";

x.setAge("123","18");

x.setAddr("123","浙江");

x.setTelenmb("123","10086");

x.setDormitory("123","101");

x.print();

}

}

3.

importjava.util.Scanner;

classAccount{

privateintid;//身份证号码

privateStringname;//用户名

privateStringpassword;//密码

privatefloatleftmoney;//余额

voidsetID(intID){//置身份证号码

id=ID;

}

intgetID(){//取身份证号码

returnid;

}

voidsetname(Stringname){//置用户名

this.name=name;

}

Stringgetname(){//取用户名

returnname;

}

voidsetleftmoney(floatleftmoney){//置余额

this.leftmoney=leftmoney;

}

floatgetleftmoney(){//取余额

System.out.println("读余额验证密码");

if(inqury())

returnleftmoney;

return0;

}

voidsetpassword(Stringpassword){//置密码

this.password=password;

}

Stringgetpassword(){//取密码

returnpassword;

}

publicbooleaninqury(){//密码验证

Scanners=newScanner(System.in);

System.out.println("请输入密码:

");

Stringpass=s.next();

if(pass.equals(getpassword())){

System.out.println("密码正确");

returntrue;

}

else

System.out.println("密码错误");

returnfalse;

}

publicvoidwithdrawMoney(floatmoney){//取钱

System.out.println("取钱验证密码");

if(inqury())

leftmoney=leftmoney-money;

}

publicvoidsaveMoney(floatmoney){//存钱

System.out.println("存钱验证密码");

if(inqury())

leftmoney=leftmoney+money;

}

}

publicclassTestAccount{//测试账户类

publicstaticvoidmain(Stringargs[]){

Accounta1=newAccount();

a1.setID

(1);

a1.setname("我");

a1.setpassword("123");

a1.setleftmoney(10000);

System.out.println("余额为"+a1.getleftmoney());

a1.saveMoney(500);

System.out.println("存钱5000后的余额为"+a1.getleftmoney());

a1.withdrawMoney(100);

System.out.println("取钱100后的余额为"+a1.getleftmoney());

}

}

4.

classStudent{

Stringname;//姓名

Stringid;//考号

floatintgretResult;//综合成绩

floatsports;//体育成绩

publicStudent(Stringname,Stringid,floatintgretResult,floatsports){//构造方法

this.name=name;

this.id=id;

this.intgretResult=intgretResult;

this.sports=sports;

}

publicvoidsetintgretResult(floatintgretResult){//置综合成绩

this.intgretResult=intgretResult;

}

publicfloatgetintgretResult(){//取综合成绩

returnintgretResult;

}

publicvoidsetsports(floatsports){//置体育

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2