JAVA面向对象编程.docx

上传人:b****5 文档编号:3050049 上传时间:2022-11-17 格式:DOCX 页数:10 大小:57.28KB
下载 相关 举报
JAVA面向对象编程.docx_第1页
第1页 / 共10页
JAVA面向对象编程.docx_第2页
第2页 / 共10页
JAVA面向对象编程.docx_第3页
第3页 / 共10页
JAVA面向对象编程.docx_第4页
第4页 / 共10页
JAVA面向对象编程.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

JAVA面向对象编程.docx

《JAVA面向对象编程.docx》由会员分享,可在线阅读,更多相关《JAVA面向对象编程.docx(10页珍藏版)》请在冰豆网上搜索。

JAVA面向对象编程.docx

JAVA面向对象编程

实验二面向对象编程

(1)

1.实验目的

掌握Java程序面向对象编程的基本架构,会运用面向对象的思想编写Java程序。

2.实验内容

实验题1阅读如下程序,完成思考题。

classCCircle

{doublepi;

doubleradius;

doublegetRadius()

{returnradius;

}

voidsetCircle(doubler,doublep)

{pi=p;

radius=r;

}

}

publicclassEx2_1

{publicstaticvoidmain(Stringargs[])

{CCirclecir1=newCCircle();

cir1.setCircle(2.0,3.1416);

System.out.println("radius="+cir1.getRadius());

}

}

[基本要求]运行程序并观察运行结果。

[思考问题]试述程序中主要语句的作用。

在类CCicle中,定义了两个全局变量pi和radius。

voidsetCircle(doubler,doublep)

{pi=p;

radius=r;

}

为构造方法,初始化数据成员。

doublegetRadius()

{

returnradius;

}

为类函数,返回值radius。

实验题2设计一个用来描述汽车的类,使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。

实验代码:

publicclassCar{

publicStringname;

publicdoublerate;

publicdoubleangle;

publicCar(StringName,doubleRate,doubleAngle){

name=Name;

rate=Rate;

angle=Angle;

}

publicCar(){

}

publicvoidgetRate(){

if(rate==0)

System.out.println("***汽车已停车!

***");

elseif(rate>160)

System.out.println("***行驶超速,请限速在160km/h以下!

***");

else

System.out.println("***汽车正常行驶中!

***");

}

publicstaticvoidmain(String[]args){

Carman=newCar();

man.name="zhangsan";

man.rate=85;

man.angle=30;

System.out.println("姓名:

"+man.name+"速率:

"+man.rate+"km/h方向盘角度:

"+man.angle+"度");

System.out.println("");

System.out.println("");

man.getRate();

}

}

运行结果:

实验题3定义一个类MyProgram,包含两个属性:

一个是private的整型属性data、一个是private的String类型的属性str,封装这两个属性的四个方法setData()和getData()、setStr()和getStr();将这两个属性转变为字符串的方法是toStr()。

编写程序,使用MyProgram类,实现数据的访问和修改,并调用toStr()方法显示该类的属性。

[基本要求]编写完整程序。

publicclassMyProgram{

privateintdata;

privateStringstr;

publicMyProgram(){

data=0;

str="";

}

publicintgetData(){

returndata;

}

publicvoidsetData(intdata){

this.data=data;

}

publicStringgetStr(){

returnstr;

}

publicvoidsetStr(Stringstr){

this.str=str;

}

publicStringtoStr(){

Strings=data+"";

s+=str;

returns;

}

publicvoidclear(){

this.data=0;

this.str="";

System.out.println("格式化后:

"+this.data+""+this.str);

}

publicstaticvoidmain(String[]args){

MyProgramjac=newMyProgram();

jac.data=20;

jac.str="ppspptvqqlive";

System.out.println("格式化前:

"+jac.data+""+jac.str);

jac.toStr();

System.out.println("转化为字符串后:

"+jac.data+""+jac.str);

jac.clear();

}

}

实验过程:

 

[思考问题]试述程序中各个方法的作用。

setData()和getData()、setStr()和getStr()分别为获得数据和资料,设置数据和资料。

toStr()函数用来将其他类型转化为字符串类型,直接用“+”即可。

Clear()函数用来格式化变量。

实验题4定义一个类实现银行帐户的概念,包括的变量有"帐号"和"存款余额",包括的方法有"存款"、"取款"、"查询余额"和”显示帐号”。

定义主类,创建帐户类的对象,并完成相应操作。

提示:

关键代码如下:

publicintgetleftmoney(){

returnleftmoney;

}

publicvoidsavemoney(doublemoney){

leftmoney+=money;

}

publicvoidgetmoney(doublemoney){

if(money<=leftmoney)

leftmoney-=money;

else

System.out.println("只能取:

"+leftmoney);

}

bankaccountba=newbankaccount(888123,1000);

ba.savemoney(21000);

System.out.println("存入21000元后余额为:

"+ba.getleftmoney());

ba.getmoney(11500);

System.out.println("11500元后余额为:

"+ba.getleftmoney());

实验代码:

publicclassbankaccount{

intnum;

intleftmoney;

publicbankaccount(intnum,intleftmoney){

this.num=num;

this.leftmoney=leftmoney;

}

publicintgetleftmoney(){

returnleftmoney;

}

publicvoidsavemoney(doublemoney){

leftmoney+=money;

}

publicvoidgetmoney(doublemoney){

if(money<=leftmoney)

leftmoney-=money;

else

System.out.println("只能取:

"+leftmoney);

}

publicstaticvoidmain(String[]args){

bankaccountba=newbankaccount(888123,1000);

ba.savemoney(50000);

System.out.println("存入50000元后余额为:

"+ba.getleftmoney());

ba.getmoney(40000);

System.out.println("取出40000元后余额为:

"+ba.getleftmoney());

}

}

运行结果:

实验题5定义链表类,实现单链表基本操作。

提示:

关键代码如下:

publicclassNode{

publicintdata;

Nodenext;

publicNode(intdata){

this.data=data;

this.next=null;

}

publicvoidNodeDisplay(){

System.out.println("{"+data+"}");

}

}

publicclassLink{

privateNodefirst;

publicLink(){

this.first=null;

}

publicbooleanisEmpty(){}

publicvoidinsertHeadNode(intdata){}

publicNodedeleteHeadNode(){}

publicvoidfindNode(intk){}

publicvoiddisplayLink(){}

publicstaticvoidmain(String[]args){}

}

实验代码:

publicclassNode{

publicintdata;

Nodenext;

publicNode(intdata){

this.data=data;

this.next=null;

}

publicvoidNodeDisplay(){

System.out.println("{"+data+"}");

}

}

publicclassLink{

privateNodefirst;

publicLink(){

this.first=null;

}

publicbooleanisEmpty(){

returnfirst==null;

}

publicvoidinsertHeadNode(intdata){

Nodem=newNode(data);

m.next=first;

first=m;

first.NodeDisplay();

}

publicNodedeleteHeadNode(){

Nodem=first;

first=first.nex

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

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1