当前位置:文档之家› java实验二.

java实验二.

信息工程学院Java程序设计实验/实习报告学院: 班级:地信姓名: 学号:2 成绩:A面向对象编程一、实验/实习过程(一)实验目的掌握Java程序面向对象编程的基本架构,会运用面向对象的思想编写Java程序。

(二)实验过程【实验题1】完成如下程序,完成思考题[基本要求] 运行程序并观察运行结果。

[思考问题] 试述程序中主要语句的作用运行结果:主要程序语句的作用已标注为注释:class CCircle // 类的声明{ double pi; //申明成员变量double radius; //申明成员变量double getRadius() //创建方法实验报告的内容与格式按任课教师的要求书写。

{ return radius; //返回 radius}void setCircle(double r, double p) //创建方法{ pi=p; //初始化数据成员radius=r; //初始化数据成员}}public class Ex2_1 //类的声明{ public static void main(String args[]) //主方法{ CCircle cir1=new CCircle(); //创建对象cir1.setCircle(2.0,3.1416); //调用对象System.out.println("radius="+cir1.getRadius()); //输出结果}}【实验题2】设计一个用来描述汽车的类,使用类的静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。

package zz1;public class Car{String name;int speed;int jiaodu;public Car(String name,int speed,int jiaodu){=name;this.speed=speed;this.jiaodu=jiaodu;System.out.println("车主:"+);System.out.println("车速为:"+this.speed);System.out.println("方向盘角度:"+this.jiaodu);}void changename(String name){=name;System.out.println("当前车主为:"+);}void changespeed(int speed){this.speed=speed;System.out.println("当前速度为:"+this.speed);}void changejiaodu(int jiaodu){this.jiaodu=jiaodu;System.out.println("当前方向盘角度为:"+this.jiaodu);}void stop(){this.speed =0;System.out.println("停车后,车速为:"+this.speed);}public static void main(String args[]){Car car=new Car("张三",0,0);car.changename("好友");car.changespeed(20);car.changejiaodu(30);car.stop();}}结果:【实验题3】定义一个类MyProgram,包含两个属性:一个是private的整型属性data、一个是private的String类型的属性str,封装这两个属性的四个方法setData()和getData()、setStr( )和getStr();将这两个属性转变为字符串的方法是toStr ()。

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

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

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

代码如下:package zz1;public class Myprogram {private int data;private String str;void setdata(int data){this.data=data;}int getdata(){return data;}void setstr(String str){this.str=str;}String getstr(){return str;}String toStr(){String a=data+" ";a=str;return a;}public static void main(String args[]){Myprogram m=new Myprogram();m.data=1000;m.str="jgfldjsglkdj";System.out.println("转换之前:"+m.data);System.out.println("转换之后:"+m.str);}}结果如下:[思考问题] 试述程序中各个方法的作用。

setData()和setStr()方法的作用是获得数据和资料,getData()、和getStr()作用为设置数据和资料。

toStr()函数用来将其他类型转化为字符串类型。

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

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

提示:关键代码如下:public int getleftmoney(){return leftmoney;}public void savemoney(double money){leftmoney+=money;}public void getmoney(double money){if(money<=leftmoney)leftmoney-=money;elseSystem.out.println("只能取:"+leftmoney);}…bankaccount ba=new bankaccount(888123,1000);ba.savemoney(21000);System.out.println("存入21000元后余额为:"+ba.getleftmoney()); ba.getmoney(11500);System.out.println("11500元后余额为:"+ba.getleftmoney());代码如下:package zz1;public class Bankaccount {int acc;int leftmoney;Bankaccount(int acc,int leftmoney){this.acc=acc;this.leftmoney=leftmoney;}public int getleftmoney(){return leftmoney;}public void savemoney(double money){leftmoney+=money;}public void getmoney(double money){if(money<=leftmoney)leftmoney-=money;elseSystem.out.println("只能取:"+leftmoney);}public static void main(String args[]){Bankaccount ba=new Bankaccount(888123,1000);ba.savemoney(21000);System.out.println("存入21000元后余额为:"+ba.getleftmoney());ba.getmoney(11500);System.out.println("取出11500元后余额为:"+ba.getleftmoney());}}结果如下:【实验题5】完成课本4.13(102页)jar文件的生成并产生Use类的运行结果。

【实验题6】对象的组合。

现有一个Rectangle类,请设计一个柱形类cuboid。

1. 此类具有两个成员变量,(1)Rectangle类型的成员变量rect(长方体以长方形做底)和(2)height(柱形的高)。

2. 此类应具有构造方法。

3. (1)此类应具有求面积的方法getVolme()。

(2)此类应具有设置和获得底的长度和宽度的方法:getBottomWidth(),setBottomWidth(),getBottomLength(),setBottomLength()。

Rectangle的代码如下:public class Rectangle {double width,length;public void setWidth(double w) {if(w > 0)this.width=w;}public double getWidth(){return width;}public void setLength (double h) {if(length > 0)this.length =h;}public double getLength () {return length;}}代码如下:package zz1;public class Cuboid {double rect,height;double width,length;Cuboid(double height){this.height=height;}public void getBottomWidth(double width){ if(width > 0)this.width=width;}public void setBottomWidth(){System.out.println("底面宽是:"+width); }public void getBottomLength(double length) { if(length > 0)this.length =length;}public void setBottomLength (){System.out.println("底面长是:"+length); }public void getVolme(){double V;V=width*length*height;System.out.println("柱形的体积是:"+V); }public static void main(String args[]){Cuboid cub=new Cuboid(20);cub.getBottomWidth(15);cub.getBottomLength(17);cub.setBottomWidth();cub.setBottomLength();cub.getVolme();}}结果如下:【实验题5】有图形类的父类Shape,参照圆Circle类补充完整正方性Square和三角形Triangle类,并分析运行结果。

相关主题