java实验2.doc
《java实验2.doc》由会员分享,可在线阅读,更多相关《java实验2.doc(13页珍藏版)》请在咨信网上搜索。
1、实验项目名称: 面向对象编 实验学时: 8 同组学生姓名: 实验地点: 1514 /A203 实验日期: 4、13/4、15/4、20/4、22 实验成绩: 批改教师: 王倩倩 批改时间: 一、实验目得与要求(1)熟练掌握Java语言类定义得基本语法;(2)熟练掌握类成员得访问控制,对象建立得方法;(3)熟练掌握类构造方法、成员方法得定义与重载;(4)熟练掌握类继承、多态与抽象性;(5)熟练掌握接口得定义与实现方法;(6)掌握基本得异常处理方法;(7)调试程序要记录调试过程中出现得问题及解决办法;(8)编写程序要规范、正确,上机调试过程与结果要有记录,不断积累编程及调试经验;(9) 做完实验后
2、给出本实验得实验报告。二、实验仪器与设备奔腾以上计算机,Windows 操作系统,装有JDK1、7与Eclipse软件。三、实验过程(1) 设计复数类,成员变量包括实部与虚部,成员方法包括实现复数加法、减法、字符串描述、比较就是否相等等操作。(2) 设计三角形类,继承图形抽象类,实现面积接口与周长接口,计算三角形面积与周长。(3) 包得建立与使用:设计计算器类Calculator,计算加、减、乘、除,并且打包为mypackage。观察源文件目录下就是否生成了mypackage文件夹,在该文件夹中就是否有Calculate、class文件。编辑PackageDemo、java,保存在Calcul
3、ator、java同一目录下,引用计算器类得各方法显示计算结果。(4) 编码实现多态在工资系统中得应用:给出一个根据雇员类型利用abstract方法与多态性完成工资单计算得程序。Employee就是抽象类,Employee得子类有Boss(每星期发给她固定工资,而不计工作时间)、missionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产得产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。该例得Employee得每个子类都声明为final,因为不需要再继承它们生成子类。在主测试类Test中测试各类雇员工资计算结果。提示:对所有雇员类
4、型都使用earnings方法,但每个人挣得工资按她所属得雇员类计算,所有雇员类都就是从超类Employee派出生得。在超类中声明earnings为抽象方法,并且对于每个子类都提供恰当得earnings得实现方法。为了计算雇员得工资,程序仅仅使用雇员对象得一个超类引用并调用earnings方法。在一个实际得工资系统中,各种Employee对象得引用可以通过一个Employee引用数组来实现。程序依次使用数组得每个元素(Employee引用)调用每个对象得earnings方法。Employee类定义如下:abstract class Employeeprivate String firstName
5、;private String lastName;public Employee(String first,String last) firstName=first; lastName=last; public String getEmployeeNamereturn firstName;public String getLastName return lastName;public String toStringreturn firstName+lastName;public abstract String earnings;(5)异常得捕获:计算两数相除并输出结果。使用三个catch子句,
6、分别捕捉输入输出异常、除数为0得异常与参数输入有误异常。import java、io、*;class Ex1public static void main(String args ) try BufferedReader strin=new BufferedReader( new InputStreamReader(System、in);/建立输入流缓冲区 System、out、print(请输入除数:); String cl=strin、readLine;/键盘输入 int a=Integer 、parseInt(cl); System 、out 、print(请输入被除数:); cl=st
7、rin 、readLine; int b=Integer 、parseInt(cl); int c=b/a; System 、out 、println(商为:+c); /捕获与I/O有关得异常(空白处补全捕获语句) /捕获数值转化时得异常,如不能将字符转化成数值 /捕获除数为0得异常 编译并运行,当产生输入输出异常时显示异常信息;当输入除数为0时,出现算术异常,提示除数为0,并要求重新输入;当输入得不就是整数时,如将30输成了3o,出现数值格式异常,提示输入整数。思考:就是否还有其她异常需要捕获处理?(6)编写程序包含自定义异常MyException,当100被13与4除时抛出该异常,其余除数
8、显示商值。要求:(1) 注意选用适当得类成员修饰符(private、protected、public等),比较它们得使用情况;(2) 养成良好得编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包得命名方式如two、num1表示实验二得第一题;(3) 学会使用Eclipse得各种调试方法;(4) 学会查阅Java API文档,如查找异常类得使用方法。程序清单:(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)(1) 代码如下:package shiyan2_1;public class plexnumber private double rea
9、l,imag;public plexnumber(double r,double i)this、real=r;this、imag=i;public plexnumber add(plexnumber c)plexnumber temp=new plexnumber(0,0);temp、real=this、real+c、real;temp、imag=this、imag+c、imag;return temp;public plexnumber sub(plexnumber c)plexnumber temp=new plexnumber(0,0);temp、real=this、realc、real
10、;temp、imag=this、imagc、imag;return temp;public boolean equals(plexnumber c)if( this=c|this、real=c、real&this、imag=c、imag)return true;return false;public String toStringreturn this、real+this、imag+i;public static void main(String args)plexnumber a=new plexnumber(1,2);System、out、println(第一个虚数为:+a、toStrin
11、g);plexnumber b=new plexnumber(1,2);System、out、println(第二个虚数为:+b、toString);System、out、println(两个徐庶得与:+a、add(b)、toString);System、out、println(两个徐庶得差:+a、sub(b)、toString);if(a、equals(b)System、out、println(两个虚数相等);elseSystem、out、println(两个虚数不相等);(2) 代码如下:Point类:package shiyan2_2;public class Point public
12、int x,y;public Point(int x,int y)this、x=x;this、y=y;public Pointthis(0,0);public String toStringreturn Point(+this、x+,+this、y+);figure类:package shiyan2_2;public class figure public Point point1;protected String shape;protected figure(Point point)this、point1=point;protected figure(Point point,String s
13、hape)this、point1=point;this、shape=shape;protected figurethis(new Point);Triangle类:package shiyan2_2;public class Triangle extends figure implements Area,Perimeterpublic Point point2,point3;protected double a,b,c;public Triangle(Point p1,Point p2,Point p3)super(p1,三角形);this、point2=p2;this、point3=p3;t
14、his、a=Math、sqrt(point1、xpoint2、x)*(point1、xpoint2、x)+(point1、ypoint2、y)*(point1、ypoint2、y);this、b=Math、sqrt(point2、xpoint3、x)*(point2、xpoint3、x)+(point2、ypoint3、y)*(point2、ypoint3、y);this、c=Math、sqrt(point3、xpoint1、x)*(point3、xpoint1、x)+(point3、ypoint1、y)*(point3、ypoint1、y);public Triangle(Point p1,
15、double a,double b,double c)super(p1,三角形);this、a=a;this、b=b;this、c=c;public double areadouble s=(a+b+c)/2;return Math、sqrt(s*(sa)*(sb)*(sc);public double perimeterreturn a+b+c;public String toStringreturn this、getClass、getName+this、shape+,三点坐标+this、point1+,+(this、point2=null?null:this、point2、toString
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 实验
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。