ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:250.82KB ,
资源ID:5999370      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5999370.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验四 Java语言面向对象基础编程.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验四 Java语言面向对象基础编程.docx

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

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

3、给sideA,sideB,sideC sideB=b; sideC=c; if(sideA+sideBsideC&sideA+sideCsideB&sideB+sideCsideA) /a,b,c 构成三角形的条件表达式 boo=true;/给boo 赋值。 else boo=false;/给boo 赋值。 double getLength() returnsideA+sideB+sideC;/方法体,要求计算出length 的值并返回 /计算三角形的面积 publicdouble getArea() if(boo) doublep=(sideA+sideB+sideC)/2.0; area=

4、Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC); returnarea; else System.out.println(不是一个三角形,不能计算面积); return 0; publicvoid setABC(doublea,doubleb,doublec) sideA=a;/参数a,b,c 分别赋值给sideA,sideB,sideC sideB=b; sideC=c; if(sideA+sideBsideC&sideA+sideCsideB&sideB+sideCsideA)/a,b,c 构成三角形的条件表达式 boo=true;/给boo 赋值。 e

5、lse boo=false;/给boo 赋值。 /定义一个梯形类 class Lader doubleabove,bottom,height,area; Lader(doublea,doubleb,doubleh) above=a;/方法体,将参数a,b,c 分别赋值给above,bottom,height bottom=b; height=h; double getArea() return (above+bottom)*height/2.0;/方法体,,要求计算出area 返回 /定义一个圆类 class Circle doubleradius,area; Circle(doubler)

6、radius=r;/方法体 double getArea() return Math.PI*Math.pow(radius, 2);/方法体,要求计算出area 返回 double getLength() return 2*Math.PI*radius;/getArea 方法体的代码,要求计算出length 返回 void setRadius(doublenewRadius) radius=newRadius; double getRadius() returnradius; publicclass shiyan4_1 publicstaticvoid main(String args) do

7、ublelength,area; Circle circle=null; Trangle trangle; Lader lader; circle=new Circle(3);/创建对象circle trangle=new Trangle(6,5,2);/创建对象trangle。 lader=new Lader(8,9,6);/创建对象lader length=circle.getLength();/ circle 调用方法返回周长并赋值给length System.out.println(圆的周长:+length); area=circle.getArea();/ circle 调用方法返回

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

9、angle=new Trangle(12,34,1);/ trangle 调用方法设置三个边,要求将三个边修改为12,34,1。 area=trangle.getArea();/ trangle 调用方法返回面积并赋值给area System.out.println(三角形的面积:+area); length=trangle.getLength();/ trangle 调用方法返回周长并赋值给length System.out.println(三角形的周长:+length); 2实例成员与类成员的使用。按程序模板的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果。package

10、 exercise;class A floata; staticfloatb; void setA(floatA) a = A; void setB(floatB) b = B; float getA() returna; float getB() returnb; void outputA() System.out.println(a); staticvoid outputB() System.out.println(b); publicclass shiyan4_2 SuppressWarnings(static-access) publicstaticvoid main(String a

11、rgs) / TODO Auto-generated method stub A.b = 100; A.outputB(); A cat = new A(); A dog = new A(); cat.setA(200); cat.setB(400); dog.setA(150); dog.setB(300); cat.outputA(); cat.outputB(); dog.outputA(); dog.outputB(); 3.方法中参数传递的练习在其它语言中,函数调用或过程调用时参数有传值调用和传地址调用之分。在Java 中,方法中的参数传递可以分为传值调用或对象方法调用等方式。传值调

12、用即传递的参数是基本数据类型,调用方法时在方法中将不能改变参数的值,这意味着只能使用它们。对象调用是指先调用对象,再调用对象的方法,这种方式可以修改允许存取的成员变量。所以,如果不想改变参数的值,可以采用传值调用的方法。如果想改变参数的值,可采用对象调用的方法,间接修改参数的值。(1)编写一个传值调用的程序文件SY3_3.java。程序功能:程序首先给整型变量x 和y 赋一个初值10,然后使用传值调用方式调用方法ff1 对x 和y 做乘方及输出x 和y 的乘方值,最后再输出x 和y 的乘方值。package exercise;publicclass shiyan4_3 publicstatic

13、void main(String args) / TODO Auto-generated method stub intx = 10, y = 10; swap(x, y); System.out.println(x = + x + , y = + y); staticvoid swap(intpassX, intpassY) passX = passX * passX; passY = passY * passY; System.out.println(passX = + passX + , passY = + passY); (2)编写一个调用对象方法的程序文件SY3_4.java。pac

14、kage exercise;publicclass shiyan4_4 publicstaticvoid main(String args) / TODO Auto-generated method stub Power p = new Power(); p.swap(p.x, p.y); System.out.println(方法调用后 x = + p.x + , y = + p.y); class Power intx = 10, y = 10; void swap(intpassX, intpassY) System.out.println(初始时 x = + x + , y = + y

15、); x = passX * passX; y = passY * passY; System.out.println(方法调用中 x = + x + , y = + y); 4定义一个名为MyRectangle的矩形类,类中有4 个私有的整型域,分别是矩形的左上角坐标(xUp,yUp)和右下角坐标(xDown,yDown);类中定义没有参数的构造方法和有4 个int参数的构造方法,用来初始化类对象。类中还有以下方法:getW( )计算矩形的宽度;getH( )计算矩形的高度;area( )计算矩形的面积;toString( )把矩形的宽、高和面积等信息作为为字符串返回。编写应用程序使用MyR

16、ectangle类。package exercise;class MyRectangle privateintxUp, yUp; privateintxDown, yDown; public MyRectangle() xUp = yUp = xDown = yDown = 0; public MyRectangle(intxu, intyu, intxd, intyd) xUp = xu; yUp = yu; xDown = xd; yDown = yd; publicint getW() returnMath.abs(xUp - xDown); publicint getH() retur

17、nMath.abs(yUp - yDown); publicint area() returnthis.getW() * this.getH(); public String toString() String tempStr = width = + this.getW() + height = + this.getH() + area = + this.area(); returntempStr; publicclass shiyan4_5 publicstaticvoid main(String args) / TODO Auto-generated method stub MyRecta

18、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(); 5请定义一个名为Card 的扑克牌类,该类有两个private 访问权限的字符串变量face 和suit:face 描述一

19、张牌的牌面值(如: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(),返回表示扑克牌的花色和牌面值字符串(如“Ace ofHearts”、“

20、Ten of Clubs”等)。package exercise;class Card private String face; private String suit; public Card(String f, String s) face = f; suit = s; protected String getFace() returnface; protected String getSuit() returnsuit; public String toString() returnface + of + suit; publicclass shiyan4_6 publicstaticv

21、oid main(String args) / TODO Auto-generated method stub Card card1 = new Card(Ace, Hearts); Card card2 = new Card(Ten, Clubs); System.out.println(card1.toString(); System.out.println(card2.toString(); 6设计一个Worker 类,其成员变量有:身份证号、姓名、性别、年龄、入职时间、工资/月、奖金/月、加班费/月、电话费/月、生活费/月、交通费/月、房租/月;用构造方法进行初始化;其他成员方法:输出

22、工人信息的方法(包括输出净收入),当某个信息没有被赋值(初始化)时,输出信息为“未知”;计算总收入的方法,总收入中要考虑扣除国家现行的个人所得税法规定的税金;计算总支出的方法。package exercise;class Worker private String number; private String name; private String sex; privateintage; private String entry; privatedoublesalary; privatedoublebonus; privatedoubleovertimeMoney; privatedoubl

23、ephoneMoney; privatedoubleliveMoney; privatedoubletrafficMoney; privatedoublerent; public Worker() number = name = sex = entry = ; age = 0; salary = bonus = overtimeMoney = phoneMoney = liveMoney = trafficMoney = rent = 0; public Worker(String num, String nam, String se,intag, String ent, doublesal,

24、 doublebon,doubleove, doublepho, doubleliv, doubletra, doubleren) number = num; name = nam; sex = se; age = ag; entry = ent; salary = sal; bonus = bon; overtimeMoney = ove; phoneMoney = pho; liveMoney = liv; trafficMoney = tra; rent = ren; publicvoid showInfo() if(number.equals() System.out.println(

25、); else System.out.println(number + member infomation list :); System.out.println(name); System.out.println(sex); System.out.println(age); System.out.println(entry); doublemoney = salary + bonus + overtimeMoney - phoneMoney - liveMoney - trafficMoney - rent; System.out.println(money); publicclassshi

26、yan4_7 publicstaticvoid main(String args) Worker worker1 = new Worker(); Worker worker2 = new Worker(0715646, leafspace, women, 22, 20160901, 5000, 500, 1200, 50, 800, 150, 1500); worker1.showInfo(); worker2.showInfo(); 7设计一个汽车Car类,其成员变量有:商标、型号、系列、箱式(三厢、两厢)、颜色、出厂日期、门数、排量、价格、可优惠价、百公里耗油量、最高时速、最大功率、最大扭

27、矩、加速时间、刹车距离;用构造方法进行初始化;其他成员方法:输出汽车信息的方法,当某个信息没有被赋值(初始化)时,输出信息为“未知”;计算行驶一定距离总耗油量,以及给定油价计算燃油费用的方法。package exercise;class Car private String logo; private String model; private String series; private String boxN; private String color; private String outDate; privateintdoorN; privatelongoutN; privatedou

28、bleprice; privatedoublesellprice; privatedoubleoil; privateintspeed; privatedoublemaxpower; privatedoublemaxspace; privatedoubletime; privatedoubletspace; public Car(String log, String mod, String ser, String box, String col, String outd, intdoorn, longoutn, doublepri, doublesell, doubleoi, intspe,

29、doublemaxpo, doublemaxsp, doubletim, doubletsp) logo = log; model = mod; series = ser; boxN = box; color = col; outDate = outd; doorN = doorn; outN = outn; price = pri; sellprice = sell; oil = oi; speed = spe; maxpower = maxpo; maxspace = maxsp; time = tim; tspace = tsp; publicvoid showInfo() System.ou

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

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