实验四Java语言面向对象基础编程Word版.doc

上传人:rrsccc 文档编号:9486774 上传时间:2021-02-28 格式:DOC 页数:25 大小:323.50KB
返回 下载 相关 举报
实验四Java语言面向对象基础编程Word版.doc_第1页
第1页 / 共25页
实验四Java语言面向对象基础编程Word版.doc_第2页
第2页 / 共25页
实验四Java语言面向对象基础编程Word版.doc_第3页
第3页 / 共25页
实验四Java语言面向对象基础编程Word版.doc_第4页
第4页 / 共25页
实验四Java语言面向对象基础编程Word版.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《实验四Java语言面向对象基础编程Word版.doc》由会员分享,可在线阅读,更多相关《实验四Java语言面向对象基础编程Word版.doc(25页珍藏版)》请在三一文库上搜索。

1、传播优秀Word版文档 ,希望对您有帮助,可双击去除!实验项目编号实验项目名称 Java语言面向对象基础编程实验学时实验日期成绩实验地点指导老师实验四 Java语言面向对象基础编程一、实验目的1.理解Java语言是如何体现面向对象编程基本思想,2.了解类的封装方法,以及如何创建类和对象,3.了解成员变量和成员方法的特性。二、实验内容1.类的定义、封装和对象创建的使用。编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:(1)Trangle类具有类型为double的三个边,以及周长、面积属性,Trangl

2、e类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。(2)Lader类具有类型double的上底、下底、高、面积属性,具有求面积的功能。(3)Circle类具有类型为double的半径、周长和面积属性,具有求周长、面积的功能。package exercise;class Trangledouble sideA,sideB,sideC,area,length;boolean boo;/带三个参数的构造函数public Trangle(double a,double b,double c) sideA=a;/参

3、数a,b,c 分别赋值给sideA,sideB,sideC传播优秀Word版文档 ,希望对您有帮助,可双击去除!sideB=b;sideC=c;if(sideA+sideBsideC & sideA+sideCsideB & sideB+sideCsideA) /a,b,c 构成三角形的条件表达式boo=true;/给boo 赋值。elseboo=false;/给boo 赋值。double getLength()return sideA+sideB+sideC;/方法体,要求计算出length 的值并返回/计算三角形的面积public double getArea()if(boo)double

4、 p=(sideA+sideB+sideC)/2.0;area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC);return area;elseSystem.out.println(不是一个三角形,不能计算面积);return 0;public void setABC(double a,double b,double c)sideA=a;/参数a,b,c 分别赋值给sideA,sideB,sideC传播优秀Word版文档 ,希望对您有帮助,可双击去除!sideB=b;sideC=c;if(sideA+sideBsideC & sideA+sideCsideB

5、 & sideB+sideCsideA)/a,b,c 构成三角形的条件表达式boo=true;/给boo 赋值。 else boo=false;/给boo 赋值。/定义一个梯形类class Laderdouble above,bottom,height,area;Lader(double a,double b,double h)above=a;/方法体,将参数a,b,c 分别赋值给above,bottom,heightbottom=b;height=h;double getArea()return (above+bottom)*height/2.0;/方法体,,要求计算出area 返回/定义一

6、个圆类传播优秀Word版文档 ,希望对您有帮助,可双击去除!class Circle double radius,area;Circle(double r)radius=r;/方法体double getArea() return Math.PI*Math.pow(radius, 2);/方法体,要求计算出area 返回double getLength()return 2*Math.PI*radius;/getArea 方法体的代码,要求计算出length 返回void setRadius(double newRadius) radius=newRadius;double getRadius()

7、 return radius;public class shiyan4_1public static void main(String args)double length,area;Circle circle=null;Trangle trangle;Lader lader; circle=new Circle(3);/创建对象circle传播优秀Word版文档 ,希望对您有帮助,可双击去除! trangle=new Trangle(6,5,2);/创建对象trangle。 lader=new Lader(8,9,6);/创建对象laderlength=circle.getLength();

8、/ circle 调用方法返回周长并赋值给lengthSystem.out.println(圆的周长:+length);area=circle.getArea();/ circle 调用方法返回面积并赋值给areaSystem.out.println(圆的面积:+area);length=trangle.getLength();/ trangle 调用方法返回周长并赋值给lengthSystem.out.println(三角形的周长:+length);area=trangle.getArea();/ trangle 调用方法返回面积并赋值给areaSystem.out.println(三角形的

9、面积:+area);area=lader.getArea();/ lader 调用方法返回面积并赋值给areaSystem.out.println(梯形的面积:+area);trangle=new Trangle(12,34,1);/ trangle 调用方法设置三个边,要求将三个边修改为12,34,1。area=trangle.getArea();/ trangle 调用方法返回面积并赋值给areaSystem.out.println(三角形的面积:+area);length=trangle.getLength();/ trangle 调用方法返回周长并赋值给lengthSystem.out

10、.println(三角形的周长:+length);传播优秀Word版文档 ,希望对您有帮助,可双击去除!2实例成员与类成员的使用。按程序模板的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果。package exercise;class Afloat a;static float b;void setA(float A)a = A;void setB(float B)b = B;传播优秀Word版文档 ,希望对您有帮助,可双击去除!float getA()return a;float getB()return b;void outputA()System.out.println

11、(a);static void outputB()System.out.println(b);public class shiyan4_2 SuppressWarnings(static-access)public static void main(String args) / TODO Auto-generated method stubA.b = 100;A.outputB();A cat = new A();A dog = new A();cat.setA(200);cat.setB(400);dog.setA(150);dog.setB(300);传播优秀Word版文档 ,希望对您有帮

12、助,可双击去除!cat.outputA();cat.outputB();dog.outputA();dog.outputB();3.方法中参数传递的练习在其它语言中,函数调用或过程调用时参数有传值调用和传地址调用之分。在传播优秀Word版文档 ,希望对您有帮助,可双击去除!Java 中,方法中的参数传递可以分为传值调用或对象方法调用等方式。传值调用即传递的参数是基本数据类型,调用方法时在方法中将不能改变参数的值,这意味着只能使用它们。对象调用是指先调用对象,再调用对象的方法,这种方式可以修改允许存取的成员变量。所以,如果不想改变参数的值,可以采用传值调用的方法。如果想改变参数的值,可采用对象调

13、用的方法,间接修改参数的值。(1)编写一个传值调用的程序文件SY3_3.java。程序功能:程序首先给整型变量x 和y 赋一个初值10,然后使用传值调用方式调用方法ff1 对x 和y 做乘方及输出x 和y 的乘方值,最后再输出x 和y 的乘方值。package exercise;public class shiyan4_3 public static void main(String args) / TODO Auto-generated method stubint x = 10, y = 10;swap(x, y);System.out.println(x = + x + , y = +

14、y);static void swap(int passX, int passY)passX = passX * passX;passY = passY * passY;System.out.println(passX = + passX + , passY = + passY);传播优秀Word版文档 ,希望对您有帮助,可双击去除!(2)编写一个调用对象方法的程序文件SY3_4.java。package exercise;public class shiyan4_4 public static void main(String args) / TODO Auto-generated meth

15、od stubPower p = new Power();p.swap(p.x, p.y);System.out.println(方法调用后 x = + p.x + , y = + p.y);传播优秀Word版文档 ,希望对您有帮助,可双击去除!class Powerint x = 10, y = 10;void swap(int passX, int passY)System.out.println(初始时 x = + x + , y = + y);x = passX * passX;y = passY * passY;System.out.println(方法调用中 x = + x + ,

16、 y = + y);传播优秀Word版文档 ,希望对您有帮助,可双击去除!4定义一个名为MyRectangle的矩形类,类中有4 个私有的整型域,分别是矩形的左上角坐标(xUp,yUp)和右下角坐标(xDown,yDown);类中定义没有参数的构造方法和有4 个int参数的构造方法,用来初始化类对象。类中还有以下方法:getW( )计算矩形的宽度;getH( )计算矩形的高度;area( )计算矩形的面积;toString( )把矩形的宽、高和面积等信息作为为字符串返回。编写应用程序使用MyRectangle类。package exercise;class MyRectangleprivate

17、 int xUp, yUp;private int xDown, yDown;传播优秀Word版文档 ,希望对您有帮助,可双击去除!public MyRectangle()xUp = yUp = xDown = yDown = 0;public MyRectangle(int xu, int yu, int xd, int yd)xUp = xu;yUp = yu;xDown = xd;yDown = yd;public int getW()return Math.abs(xUp - xDown);public int getH()return Math.abs(yUp - yDown);pu

18、blic int area()return this.getW() * this.getH();public String toString()String tempStr = width = + this.getW() + height = + this.getH() + area = + this.area();return tempStr;传播优秀Word版文档 ,希望对您有帮助,可双击去除!public class shiyan4_5public static void main(String args) / TODO Auto-generated method stubMyRecta

19、ngle tempRec1 = new MyRectangle();MyRectangle tempRec2 = new MyRectangle(-1, 5, 4, 7);System.out.println(This first rectangle information + tempRec1.toString();System.out.println(This second rectangle information + tempRec2.toString();传播优秀Word版文档 ,希望对您有帮助,可双击去除!5请定义一个名为Card 的扑克牌类,该类有两个private 访问权限的字

20、符串变量face 和suit:face 描述一张牌的牌面值(如:Ace, Deuce, Three,Four,Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King);suit描述一张牌的花色(如:Hearts, Diamonds, Clubs, Spades)。定义Card 类中的public 访问权限的构造方法,为类中的变量赋值;定义protected 访问权限的方法getFace(),得到扑克牌的牌面值; 定义protected 访问权限的方法getSuit(),得到扑克牌的花色; 定义方法toString(),返回表示扑克牌的花色和牌

21、面值字符串(如“Ace ofHearts”、“Ten of Clubs”等)。package exercise;class Cardprivate String face;private String suit;public Card(String f, String s)face = f;suit = s;protected String getFace()return face;protected String getSuit()return suit;public String toString()return face + of + suit;传播优秀Word版文档 ,希望对您有帮助,

22、可双击去除!public class shiyan4_6public static void main(String args) / TODO Auto-generated method stubCard card1 = new Card(Ace, Hearts);Card card2 = new Card(Ten, Clubs);System.out.println(card1.toString();System.out.println(card2.toString();传播优秀Word版文档 ,希望对您有帮助,可双击去除!6设计一个Worker 类,其成员变量有:身份证号、姓名、性别、年龄

23、、入职时间、工资/月、奖金/月、加班费/月、电话费/月、生活费/月、交通费/月、房租/月;用构造方法进行初始化;其他成员方法:输出工人信息的方法(包括输出净收入),当某个信息没有被赋值(初始化)时,输出信息为“未知”;计算总收入的方法,总收入中要考虑扣除国家现行的个人所得税法规定的税金;计算总支出的方法。package exercise;class Workerprivate String number;private String name;传播优秀Word版文档 ,希望对您有帮助,可双击去除!private String sex;private int age;private String

24、 entry;private double salary;private double bonus;private double overtimeMoney;private double phoneMoney;private double liveMoney;private double trafficMoney;private double rent;public Worker()number = name = sex = entry = ;age = 0; salary = bonus = overtimeMoney = phoneMoney = liveMoney = trafficMo

25、ney = rent = 0;public Worker(String num, String nam, String se,int ag, String ent, double sal, double bon,double ove, double pho, double liv, double tra, double ren)number = num;name = nam;sex = se;age = ag;entry = ent;传播优秀Word版文档 ,希望对您有帮助,可双击去除!salary = sal;bonus = bon;overtimeMoney = ove;phoneMone

26、y = pho;liveMoney = liv;trafficMoney = tra;rent = ren;public void showInfo()if(number.equals()System.out.println();elseSystem.out.println(number + member infomation list :);System.out.println(name);System.out.println(sex);System.out.println(age);System.out.println(entry);double money = salary + bonu

27、s + overtimeMoney - phoneMoney - liveMoney - trafficMoney - rent;System.out.println(money);传播优秀Word版文档 ,希望对您有帮助,可双击去除!public class shiyan4_7 public static void main(String args) Worker worker1 = new Worker();Worker worker2 = new Worker(0715646, leafspace, women, 22, 20160901, 5000, 500, 1200, 50, 80

28、0, 150, 1500);worker1.showInfo();worker2.showInfo();7设计一个汽车Car类,其成员变量有:商标、型号、系列、箱式(三厢、两厢)、颜色、出厂日期、门数、排量、价格、可优惠价、百公里耗油量、最高时速、最大功率、最大扭矩、加速时间、刹车距离;用构造方法进行初始化;其他成员方法:输出汽车信息的方法,当某个信息没有被赋值(初始化)时,输出信息为“未知”;计算行驶一定距离总耗油量,以及给定油价计算燃油费用的方法。package exercise;class Car传播优秀Word版文档 ,希望对您有帮助,可双击去除!private String logo

29、;private String model;private String series;private String boxN;private String color;private String outDate;private int doorN;private long outN;private double price;private double sellprice;private double oil;private int speed;private double maxpower;private double maxspace;private double time;priva

30、te double tspace;public Car(String log, String mod, String ser, String box, String col, String outd,int doorn, long outn, double pri, double sell, double oi, int spe, double maxpo, double maxsp, double tim, double tsp)logo = log;model = mod;series = ser;boxN = box;color = col;传播优秀Word版文档 ,希望对您有帮助,可双

31、击去除!outDate = outd;doorN = doorn;outN = outn;price = pri;sellprice = sell;oil = oi;speed = spe;maxpower = maxpo;maxspace = maxsp;time = tim;tspace = tsp;public void showInfo()System.out.println(logo);System.out.println(model);System.out.println(series);System.out.println(boxN);System.out.println(col

32、or);System.out.println(outDate);System.out.println(doorN);System.out.println(outN);System.out.println(price);System.out.println(sellprice);System.out.println(oil);System.out.println(speed);传播优秀Word版文档 ,希望对您有帮助,可双击去除!System.out.println(maxpower);System.out.println(maxspace);System.out.println(time);S

33、ystem.out.println(tspace);public double outoil(int length)return oil / 100 * length;public double selmoney(int length)return 80 * outoil(length);public class shiyan4_8 public static void main(String args) / TODO Auto-generated method stubCar car = new Car(abc, abcd, asfag, asdg, sadh, sdaf,10, 4665, 165, 1561, 165, 1651, 64, 4894, 894, 151);car.showInfo();传播优秀Word版文档 ,希望对您有帮助,可双击去除!三、实验心得通过本次试验,我理解了Java语言是如何体现面向对象编程基本思想及类的封装方法,以及如何创建类和对象。

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1