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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

实验面向对象编程.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 )设计一

4、个基类 Student 描述学生的共同特征。2) 设计一个描述本科生的类 Undergraduate ,该类继承并扩展 Student 类。3) 设计一个描述研究生的类 Graduate ,该类继承并扩展 Student 类。4) 设计一个测试类 StudentDemo,分别创建本科生和研究生这两个类的对象,并 输出相关信息。( 5)设计三角形类,继承图形抽象类,计算三角形面积和周长。( 6)试编码实现多态在工资系统中的应用: 给出一个根据雇员类型利用 abstract 方法和多态性完成工资单计算的程序。 Employee是抽象类,Employee的子类有Boss (每星期发给他固定工资,而不

5、计工作时间) 、CommissionWorker (除基本工资外还根据销售额发放浮动工资) 、PieceWorker (按其生产的产品数发放工资) 、HourlyWorker (根据 工作时间长短发放工资) 。该例的 Employee 的每个子类都声明为 final ,因为不需要再Test 中测试各类雇员工资计算结果。earnings() 方法,但每个人挣的工资按他所属的雇员Employee 派出生的。在超类中声明 earnings() 为抽象方法,并且对于每个子类都提供恰当的 earnings() 的实现方法。为了计算雇员的工资, 程序仅仅使用雇员对象的一个超类引用并调用 earnings(

6、) 方法。在一个实际的工资系统中, 各种 Employee 对象的引用可以通过一个 Employee 引用数组来实现。 程序依次使用数组的每个元素( Employee 引用)调用每个对象的 earnings() 方法。Employee 类定义如下:abstract class Employeeprivate String firstName;private String lastName;public Employee(String first,String last)firstName=first;lastName=last;public String getEmployeeName()re

7、turn firstName;public String getLastName()return lastName;public String toString()return firstName+lastName;public abstract String earnings();( 7)设计圆柱体类和圆椎体类, 继承圆类 Circle 并实现 Volume 接口, 计算表面积和体积。 (8)异常的捕获:计算两数相除并输出结果。使用三个 catch 子句,分别捕捉输入输出异 常、除数为 0 的异常和参数输入有误异常。import java.io.*;class Ex1public stati

8、c 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=strin .readLine();int b=Integer .parseInt(cl);int c=b/a;System

9、 .out .println( 商为: +c);/ 捕获与 I/O 有关的异常(空白处补全捕获语句)/ 捕获数值转化时的异常,如不能将字符转化成数值/ 捕获除数为 0 的异常编译并运行,当产生输入输出异常时显示异常信息;当输入除数为 0 时,出现算术异常,提示除数为 0,并要求重新输入;当输入的不是整数时,如将 30 输成了 3o ,出现数值格式异常,提示输入整数。(9)编写程序包含自定义异常 MyException ,当 100 被 13 和 4 除时抛出该异常,其余除数 显示商值。要求:(1)注意选用适当的类成员修饰符( private 、 protected 、 public 等 用情况

10、;),比较它们的使(2)养成良好的编程习惯, 严格按照命名规则为包、 类及类成员命名, 包的命名方式如 two.num1 表示实验二的第一题;将每个程序打包,(3)学会使用 Eclipse 的各种调试方法;(4)学会查阅 Java API 文档,如查找异常类的使用方法。程序清单:(建议程序中适当添加注释信息, 增强可读性; 较长程序可分栏书写, 保证报告排版整洁美 观。)(实验二程序清单续 1)(1)public class fushu double x;double y;public fushu(double x1,double y1)x=x1;y=y1;public fushu()x=0;

11、y=0;public fushu fushujia(fushu c1,fushu c2)fushu c=new fushu();c.x=c1.x+c2.x;c.y=c1.y+c2.y;return c;public fushu fushujianfa(fushu c1,fushu c2) fushu c=new fushu();c.x=c1.x-c2.x;c.y=c1.y-c2.y;return c;public String fushubijiao(fushu c1,fushu c2) double x=c1.x*c1.x+c1.y*c1.y;double y=c2.x*c2.x+c2.y*

12、c2.y;if(xy)return c1c2;elseif(x=y) return c1=c2;elsereturn c1=0)return (x+y+i);elsey=-y;return (x+-+y+i); public boolean fushuxd(fushu c1,fushu c2) boolean f=true; if(c1.x=c2.x&c1.y=c2.y) return f;elsef=false; return f;public class fushutest public static void main(String args)fushu c1=new fushu(3.0

13、,4.0);fushu c2=new fushu(4.0,5.0);fushu c=new fushu();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.toString(); if(c.fushuxd(c1,c2)System.out.println( 相等 ); elseSyste

14、m.out.println( 不相等 );(2)public class Calculator float i;float j;public Calculator jia( Calculator x,Calculator y)Calculator c=new Calculator(); c.i=x.i+y.i; return c;public Calculator jian(Calculator x,Calculator y)Calculator c=new Calculator(); c.i=x.i-y.i; return c;public Calculator cheng(Calculat

15、or x,Calculator y)Calculator c=new Calculator(); c.i=x.i*y.i;return c;public Calculator chu(Calculator x,Calculator y)Calculator c=new Calculator();c.i=x.i;c.i=c.i/y.i;return c;public Calculator lfh()Calculator c=new Calculator();c.i=i*i*i;return c;public float fanhui(Calculator c)return c.i;public

16、class PackageDemo public static void main(String args)Calculator i=new Calculator();Calculator y=new Calculator();i.i=3;y.i=4;Calculator c=new Calculator();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.fa

17、nhui(c.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)import java.util.*;public class UseAccount public static void main(String args) Scanner reader=new Scanner(System.in); BankAccount c=new BankAccount(); in

18、t i;float s;boolean t=true;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)case 1 : c.yue(c);break;case 2 : System.out.print(s=reader.nextFloat(); c.cunqian(s);break;查

19、询余额 ); 存钱 ); 取钱 );设置利率 ); 查询利率 ); 结束退出 );请输入要进行的操作编号 :)请输入存入金额: );case 3:System.out.print( 请输入取出金额: );s=reader.nextFloat();if(sc.balance)System.out.println( 余额不足 );elsec.quqian(s);break;case 4:System.out.print( 请输入利率: );s=reader.nextFloat();c.lilu(s);break;case 5:c.sclilu();break;case 6:break;if(i=6

20、)break;/*c.interest=reader.nextFloat();while(t) String k;k=reader.nextLine();if(k.equals( 查询余额 )c.yue(c);else if(k.equals( 存钱 )s=reader.nextFloat();c.cunqian(s);else if(k.equals( 取钱 )s=reader.nextFloat();c.quqian(s);else if(k.equals( 查询利率 )c.sclilu();else if(k.equals( 结束 ) break;c.yue(c);*/public cl

21、ass BankAccount static double balance=0,interest=0; public static void yue(BankAccount x) System.out.println( 余额为 +balance+ 元 ); public static void cunqian( double i) balance=balance+i;public static void quqian(double i) balance=balance-i;public static void lilu(double i)interest=i;public static voi

22、d sclilu()System.out.println( 利率为 +interest*100+%); (4)class Student float i,j, k;float s;public void Student(Student c) s=(i+j+k)/3; if(s60) System.out.print( 可以毕业 );elseSystem.out.println( 不合格 );class Graduate extends Student public void Graduate(Student c) if( c.s80)System.out.println( 研究生 );clas

23、s Undergraduate extends Student public void Undergraduate(Student c) if( c.s=60) System.out.println( 本科生 );import java.util.*;public class StudentDemo public static void main(String args) Scanner reader=new Scanner(System.in); Student c=new Student();Graduate k=new Graduate(); Undergraduate m=new Un

24、dergraduate();c.i=reader.nextFloat(); c.j=reader.nextFloat();c.k=reader.nextFloat(); c.Student(c);k.Graduate(c); m.Undergraduate(c);(5)import java.util.*; abstract class jicheng int i, j, k;abstract double mianzhi(); abstract int zhouchang();class jisuan extends jichengvoid jicheng(int i,int j,int k

25、)super.i=i;super.j=j;super.k=k;double mianzhi()double s;float p;p=(i+j+k)/2;s=Math.sqrt(p*(p-i)*(p-j)*(p-k);return s;int zhouchang()return i+j+k;public class jichengTest public static void main(String args)jisuan c=new jisuan();c.jicheng(3, 4, 5);System.out.println(c.zhouchang(); System.out.println(

26、c.mianzhi();(6)class Boss extends Employeeint s;public Boss(String first, String last,int i)super(first, last);s= i;public String earnings() return (super.toString()+String.valueOf(s);class CommissionWorker extends Employeeint i, j, k;public CommissionWorker(String first, String last,int i,int j,int

27、 k) super(first, last);this.i=i;this.j=j;this.k=k;public String earnings() return (super.toString()+String.valueOf(i+j*k);class HourlyWorker extends Employeeint i, j, k;public HourlyWorker(String first, String last,int i,int j,int k) super(first, last);this.i=i;this.j=j;this.k=k;public String earnin

28、gs() return (super.toString()+String.valueOf(i+j*k);class PieceWorker extends Employeeint i, j, k;public PieceWorker(String first, String last,int i,int j,int k) super(first, last);this.i=i;this.j=j;this.k=k;public String earnings() return (super.toString()+String.valueOf(i+j*k);import java.util.*;a

29、bstract class Employeeprivate String firstName; private String lastName;public Employee(String first,String last) firstName=first; lastName=last;public String getEmployeeName() return firstName;public String getLastName()return lastName;public String toString()return firstName+lastName;public abstract String earnings();public class Test public static void main(String args)

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

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