欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    实验面向对象编程.docx

    • 资源ID:11609300       资源大小:19.26KB        全文页数:8页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验面向对象编程.docx

    1、实验面向对象编程实验面向对象编程实验项目名称:面向对象编程实验学时:同组学生姓名:郁佳慧实验地点:_实验日期:_实验成绩:批改教师:刘晶_批改时间:工科楼A207、实验目的和要求(1)熟练掌握Java语言类定义的基本语法;(2)熟练掌握类成员的访问控制,对象建立的方法;(3)熟练掌握类构造方法、成员方法的定义和重载;(4)熟练掌握类继承、多态和抽象性;(5)熟练掌握接口的定义和实现方法;(6)掌握基本的异常处理方法;(7)调试程序要记录调试过程中出现的问题及解决办法;(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9)做完实验后给出本实验的实验报告。二、实验仪

    2、器和设备奔腾以上计算机,Windows操作系统,装有JDK1.6和Eclipse4.2软件。三、实验过程(1)设计复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法、比较、字符串描述、比较是否相等等操作。(2)包的建立与使用:设计计算器类Calculator,计算加、减、乘、除和立方体体积,并且打包为mypackage。观察源文件目录下是否生成了mypackage文件夹,在该文件夹中是否有Calculate.class文件。编辑PackageDemo.java,保存在Calculator.java同一目录下,引用计算器类的各方法显示计算结果。(3)试编码实现简单的银行业务:处理简单

    3、帐户存取款、查询。编写银行帐户类BankAccount,包含数据成员:余额(balanee)、利率(interest);操作方法:查询余额、存款、取款、查询利率、设置利率。再编写主类UseAccount,包含main()方法,创建BankAccount类的对象,并完成相应操作。(4)假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通过。根据上述要求,请完成以下Java类的设计:1)设计一个基类Student描述学生的共同特征。2)设计一个描述本科生的类Undergraduate,该类继承并扩

    4、展Student类。3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息。(5)设计三角形类,继承图形抽象类,计算三角形面积和周长。(6)试编码实现多态在工资系统中的应用:给出一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、Hourl

    5、yWorker(根据工作时间长短发放工资)。该例的Employee的每个子类都声明为final,因为不需要再Test中测试各类雇员工资计算结果。earnings()方法,但每个人挣的工资按他所属的雇员Employee派出生的。在超类中声明earnings()为抽象方法,并且对于每个子类都提供恰当的earnings()的实现方法。为了计算雇员的工资,程序仅仅使用雇员对象的一个超类引用并调用earnings()方法。在一个实际的工资系统中,各种Employee对象的引用可以通过一个Employee引用数组来实现。程序依次使用数组的每个元素(Employee引用)调用每个对象的earnings()方

    6、法。Employee类定义如下:abstractclassEmployeeprivateStringfirstName;privateStringlastName;publicEmployee(Stringfirst,Stringlast)firstName=first;lastName=last;publicStringgetEmployeeName()returnfirstName;publicStringgetLastName()returnlastName;publicStringtoString()returnfirstName+lastName;publicabstractStri

    7、ngearnings();(7)设计圆柱体类和圆椎体类,继承圆类Circle并实现Volume接口,计算表面积和体积。(8)异常的捕获:计算两数相除并输出结果。使用三个catch子句,分别捕捉输入输出异常、除数为0的异常和参数输入有误异常。importjava.io.*;classEx1publicstaticvoidmain(Stringargs)tryBufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in);/建立输入流缓冲区System.out.print(请输入除数:Stringcl=strin.read

    8、Line();/键盘输入inta=Integer.parseInt(cl);System.out.print(请输入被除数:cl=strin.readLine();继承它们生成子类。在主测试类提示:对所有雇员类型都使用类计算,所有雇员类都是从超类intb=Integer.parseInt(cl);intc=b/a;System.out.println(商为:+c);/捕获与I/O有关的异常(空白处补全捕获语句)/捕获数值转化时的异常,如不能将字符转化成数值/捕获除数为0的异常编译并运行,当产生输入输出异常时显示异常信息;当输入除数为0时,出现算术异常,提示除数为0,并要求重新输入;当输入的不是

    9、整数时,如将30输成了3o,出现数值格式异常,提示输入整数。(9)编写程序包含自定义异常MyException,当100被13和4除时抛出该异常,其余除数显示商值。要求:(1)注意选用适当的类成员修饰符(private、protected、public等用情况;),比较它们的使(2)养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,包的命名方式如two.num1表示实验二的第一题;将每个程序打包,(3)学会使用Eclipse的各种调试方法;(4)学会查阅JavaAPI文档,如查找异常类的使用方法。程序清单:(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美

    10、观。)(实验二程序清单续1)(1)publicclassfushudoublex;doubley;publicfushu(doublex1,doubley1)x=x1;y=y1;publicfushu()x=0;y=0;publicfushufushujia(fushuc1,fushuc2)fushuc=newfushu();c.x=c1.x+c2.x;c.y=c1.y+c2.y;returnc;publicfushufushujianfa(fushuc1,fushuc2)fushuc=newfushu();c.x=c1.x-c2.x;c.y=c1.y-c2.y;returnc;publicS

    11、tringfushubijiao(fushuc1,fushuc2)doublex=c1.x*c1.x+c1.y*c1.y;doubley=c2.x*c2.x+c2.y*c2.y;if(xy)returnc1c2elseif(x=y)returnc1=c2elsereturnc1c2publicStringtoString()if(y=0)return(x+y+ielsey=-y;return(x+-+y+ipublicbooleanfushuxd(fushuc1,fushuc2)booleanf=true;if(c1.x=c2.xc1.y=c2.y)returnf;elsef=false;re

    12、turnf;publicclassfushutestpublicstaticvoidmain(Stringargs)fushuc1=newfushu(3.0,4.0);fushuc2=newfushu(4.0,5.0);fushuc=newfushu();System.out.println(c.fushujia(c1,c2);System.out.println(c.fushujianfa(c1,c2);System.out.println(c.fushubijiao(c1,c2);System.out.println(c1.toString();System.out.println(c2.

    13、toString();if(c.fushuxd(c1,c2)System.out.println(相等elseSystem.out.println(不相等(2)publicclassCalculatorfloati;floatj;publicCalculatorjia(Calculatorx,Calculatory)Calculatorc=newCalculator();c.i=x.i+y.i;returnc;publicCalculatorjian(Calculatorx,Calculatory)Calculatorc=newCalculator();c.i=x.i-y.i;returnc;

    14、publicCalculatorcheng(Calculatorx,Calculatory)Calculatorc=newCalculator();c.i=x.i*y.i;returnc;publicCalculatorchu(Calculatorx,Calculatory)Calculatorc=newCalculator();c.i=x.i;c.i=c.i/y.i;returnc;publicCalculatorlfh()Calculatorc=newCalculator();c.i=i*i*i;returnc;publicfloatfanhui(Calculatorc)returnc.i

    15、;publicclassPackageDemopublicstaticvoidmain(Stringargs)Calculatori=newCalculator();Calculatory=newCalculator();i.i=3;y.i=4;Calculatorc=newCalculator();System.out.println(c.fanhui(c.jia(i,y);System.out.println(c.fanhui(c.jian(i,y);System.out.println(c.fanhui(c.cheng(i,y);System.out.println(c.fanhui(c

    16、.chu(i,y);System.out.println(i.fanhui(i.lfh();System.out.println(i.fanhui(y.lfh();c=c.cheng(c.jia(i,y),c);System.out.println(c.fanhui(c);(3)importjava.util.*;publicclassUseAccountpublicstaticvoidmain(Stringargs)Scannerreader=newScanner(System.in);BankAccountc=newBankAccount();inti;floats;booleant=tr

    17、ue;case3:System.out.print(请输入取出金额:s=reader.nextFloat();if(sc.balance)System.out.println(余额不足elsec.quqian(s);System.out.println(1.System.out.println(2.System.out.println(3.System.out.println(4.System.out.println(5.System.out.println(6.while(t)System.out.print(i=reader.nextInt();switch(i)case1:c.yue(c

    18、);break;case2:System.out.print(s=reader.nextFloat();c.cunqian(s);break;查询余额存钱取钱设置利率查询利率结束退出请输入要进行的操作编号:)请输入存入金额:break;case4:System.out.print(请输入利率:s=reader.nextFloat();c.lilu(s);break;case5:c.sclilu();break;case6:break;if(i=6)break;/*c.interest=reader.nextFloat();while(t)Stringk;k=reader.nextLine();

    19、if(k.equals(查询余额)c.yue(c);elseif(k.equals(存钱)s=reader.nextFloat();c.cunqian(s);elseif(k.equals(取钱)s=reader.nextFloat();c.quqian(s);elseif(k.equals(查询利率)c.sclilu();elseif(k.equals(结束)break;c.yue(c);*/publicclassBankAccountstaticdoublebalance=0,interest=0;publicstaticvoidyue(BankAccountx)System.out.pr

    20、intln(余额为+balance+元publicstaticvoidcunqian(doublei)balance=balance+i;publicstaticvoidquqian(doublei)balance=balance-i;publicstaticvoidlilu(doublei)interest=i;publicstaticvoidsclilu()System.out.println(利率为+interest*100+%(4)classStudentfloati,j,k;floats;publicvoidStudent(Studentc)s=(i+j+k)/3;if(s60)Sy

    21、stem.out.print(可以毕业elseSystem.out.println(不合格classGraduateextendsStudentpublicvoidGraduate(Studentc)if(c.s80)System.out.println(研究生classUndergraduateextendsStudentpublicvoidUndergraduate(Studentc)if(c.s=80c.s=60)System.out.println(本科生importjava.util.*;publicclassStudentDemopublicstaticvoidmain(Strin

    22、gargs)Scannerreader=newScanner(System.in);Studentc=newStudent();Graduatek=newGraduate();Undergraduatem=newUndergraduate();c.i=reader.nextFloat();c.j=reader.nextFloat();c.k=reader.nextFloat();c.Student(c);k.Graduate(c);m.Undergraduate(c);(5)importjava.util.*;abstractclassjichenginti,j,k;abstractdoubl

    23、emianzhi();abstractintzhouchang();classjisuanextendsjichengvoidjicheng(inti,intj,intk)super.i=i;super.j=j;super.k=k;doublemianzhi()doubles;floatp;p=(i+j+k)/2;s=Math.sqrt(p*(p-i)*(p-j)*(p-k);returns;intzhouchang()returni+j+k;publicclassjichengTestpublicstaticvoidmain(Stringargs)jisuanc=newjisuan();c.

    24、jicheng(3,4,5);System.out.println(c.zhouchang();System.out.println(c.mianzhi();(6)classBossextendsEmployeeints;publicBoss(Stringfirst,Stringlast,inti)super(first,last);s=i;publicStringearnings()return(super.toString()+String.valueOf(s);classCommissionWorkerextendsEmployeeinti,j,k;publicCommissionWor

    25、ker(Stringfirst,Stringlast,inti,intj,intk)super(first,last);this.i=i;this.j=j;this.k=k;publicStringearnings()return(super.toString()+String.valueOf(i+j*k);classHourlyWorkerextendsEmployeeinti,j,k;publicHourlyWorker(Stringfirst,Stringlast,inti,intj,intk)super(first,last);this.i=i;this.j=j;this.k=k;pu

    26、blicStringearnings()return(super.toString()+String.valueOf(i+j*k);classPieceWorkerextendsEmployeeinti,j,k;publicPieceWorker(Stringfirst,Stringlast,inti,intj,intk)super(first,last);this.i=i;this.j=j;this.k=k;publicStringearnings()return(super.toString()+String.valueOf(i+j*k);importjava.util.*;abstrac

    27、tclassEmployeeprivateStringfirstName;privateStringlastName;publicEmployee(Stringfirst,Stringlast)firstName=first;lastName=last;publicStringgetEmployeeName()returnfirstName;publicStringgetLastName()returnlastName;publicStringtoString()returnfirstName+lastName;publicabstractStringearnings();publicclas

    28、sTestpublicstaticvoidmain(Stringargs)Bossa=newBoss(Boss,工资条,5000);System.out.println(a.earnings();CommissionWorkerb=newCommissionWorker(CommissionWorker,工资条,2000,100,20);System.out.println(b.earnings();PieceWorkerc=newPieceWorker(PieceWorker,工资条,2450,200,5);System.out.println(c.earnings();HourlyWork

    29、erd=newHourlyWorker(HourlyWorker,工资条,2350,200,9);System.out.println(d.earnings();(7)interfaceCirclefloatpi=3.14F;voidarea(inti,intheigh);voidvolume();classyuanzhuimplementsCircleintheigh;doubles=0;doublesum=0;publicvoidarea(inti,intheigh)(8)s=i*i*pi;sum=2*pi*i*heigh+2*s;this.heigh=heigh;System.out.p

    30、rintln(圆柱的表面积为+sum);publicvoidvolume()sum=s*heigh;System.out.println(圆柱的体积为+sum);classyuanzhuiimplementsCircleintheigh;doubles=0;doublesum=0;publicvoidarea(inti,intheigh)s=i*i*pi;sum=2*2*pi*i*i;this.heigh=heigh;System.out.println(圆椎的表面积为+sum);publicvoidvolume()sum=s*heigh/3;System.out.println(圆椎的体积为

    31、+sum);publicclassTESTpublicstaticvoidmain(Stringargs)yuanzhuc=newyuanzhu();yuanzhuis=newyuanzhui();c.area(3,4);c.volume();s.area(3,4);s.volume();importjava.io.*;classEx1publicstaticvoidmain(Stringargs)tryBufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in);/建立输入流缓冲区System.out.print(

    32、请输入除数:Stringcl=strin.readLine();/键盘输入inta=Integer.parseInt(cl);System.out.print(请输入被除数:cl=strin.readLine();intb=Integer.parseInt(cl);intc=b/a;System.out.println(商为:+c);catch(IOExceptione)/捕获与I/O有关的异常(空白处补全捕获语句)System.out.println(捕获到了I/O异常catch(NumberFormatExceptione)/捕获数值转化时的异常,如不能将字符转化成数值System.out.println


    注意事项

    本文(实验面向对象编程.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开