java实验264224_计算机-Java.pdf
《java实验264224_计算机-Java.pdf》由会员分享,可在线阅读,更多相关《java实验264224_计算机-Java.pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验项目名称:面向对象编 实验学时:8 同组学生姓名:实验地点:1514/A203 实验日期:4.13/4.15/4.20/4.22 实验成绩:批改教师:王倩倩 批改时间:欢迎下载 2 一、实验目的和要求(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,保存在 Cal
3、culator.java同一目录下,引用计算器类的各方法显示计算结果。(4)编码实现多态在工资系统中的应用:给出一个根据雇员类型利用 abstract方法和多态性完成工资单计算的程序。Employee 是抽象类,Employee 的子类有 Boss(每星期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。该例的 Employee 的每个子类都声明为 final,因为不需要再继承它们生成子类。在主测试类 Test 中测试各类雇员工资计
4、算结果。提示:对所有雇员类型都使用 earnings()方法,但每个人挣的工资按他所属的雇员类计算,所有雇员类都是从超类 Employee 派出生的。在超类中声明 earnings()为抽象方法,并且对于每个子类都提供恰当的 earnings()的实现方法。为了计算雇员的工资,程序仅仅使用雇员对象的一个超类引用并调用 earnings()方法。在一个实际的工资系统中,各种 Employee 对象的引用可以通过一个 Employee 引用数组来实现。程序依次使和要求熟练掌握语言类定义的基本语法熟练掌握类成员的访问控制对象建立的方法熟练掌握类构造方法成员方法的定义和重载熟练掌握类继承多态和抽象性熟
5、练掌握接口的定义和实现方法掌握基本的异常处理方法调试程序要记录调实验后给出本实验的实验报告二实验仪器和设备奔腾以上计算机操作系统装有和软件三实验过程设计复数类成员变量包括实部和虚部成员方法包括实现复数加法减法字符串描述较是否相等等操作设计三角形类继承图形抽象类实现面下是否生成了文件夹在该文件夹中是否有文件编辑保存在同一目录下引用计算器类的各方法显示计算结果编码实现多态在工资系统中的应用给出一个根据雇员类型利用方法和多态性完成工资单计算的程序是抽象类的子类有每星期发 欢迎下载 3 用数组的每个元素(Employee 引用)调用每个对象的 earnings()方法。Employee 类定义如下:a
6、bstract class Employee private 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
7、String earnings();(5)异常的捕获:计算两数相除并输出结果。使用三个 catch 子句,分别捕捉输入输出异常、除数为 0 的异常和参数输入有误异常。import java.io.*;class Ex1 public static void main(String args)try BufferedReader strin=new BufferedReader(new InputStreamReader(System.in);/建立输入流缓冲区 System.out.print(请输入除数:);String cl=strin.readLine();/键盘输入 int a=Int
8、eger.parseInt(cl);System.out.print(请输入被除数:);cl=strin.readLine();int b=Integer.parseInt(cl);int c=b/a;System.out.println(商为:+c);和要求熟练掌握语言类定义的基本语法熟练掌握类成员的访问控制对象建立的方法熟练掌握类构造方法成员方法的定义和重载熟练掌握类继承多态和抽象性熟练掌握接口的定义和实现方法掌握基本的异常处理方法调试程序要记录调实验后给出本实验的实验报告二实验仪器和设备奔腾以上计算机操作系统装有和软件三实验过程设计复数类成员变量包括实部和虚部成员方法包括实现复数加法减法
9、字符串描述较是否相等等操作设计三角形类继承图形抽象类实现面下是否生成了文件夹在该文件夹中是否有文件编辑保存在同一目录下引用计算器类的各方法显示计算结果编码实现多态在工资系统中的应用给出一个根据雇员类型利用方法和多态性完成工资单计算的程序是抽象类的子类有每星期发 欢迎下载 4 /捕获与 I/O 有关的异常(空白处补全捕获语句)/捕获数值转化时的异常,如不能将字符转化成数值 /捕获除数为 0 的异常 编译并运行,当产生输入输出异常时显示异常信息;当输入除数为 0 时,出现算术异常,提示除数为 0,并要求重新输入;当输入的不是整数时,如将 30 输成了 3o,出现数值格式异常,提示输入整数。思考:是
10、否还有其他异常需要捕获处理?(6)编写程序包含自定义异常 MyException,当 100 被 13 和 4 除时抛出该异常,其余除数显示商值。要求:(1)注意选用适当的类成员修饰符(private、protected、public等),比较它们的使用情况;(2)养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包的命名方式如 two.num1 表示实验二的第一题;(3)学会使用 Eclipse的各种调试方法;(4)学会查阅 Java API 文档,如查找异常类的使用方法。程序清单:(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)
11、(1)代码如下:package shiyan2_1;public class complexnumber private double real,imag;public complexnumber(double r,double i)this.real=r;this.imag=i;public complexnumber add(complexnumber c)complexnumber temp=new complexnumber(0,0);temp.real=this.real+c.real;temp.imag=this.imag+c.imag;return temp;public com
12、plexnumber sub(complexnumber c)和要求熟练掌握语言类定义的基本语法熟练掌握类成员的访问控制对象建立的方法熟练掌握类构造方法成员方法的定义和重载熟练掌握类继承多态和抽象性熟练掌握接口的定义和实现方法掌握基本的异常处理方法调试程序要记录调实验后给出本实验的实验报告二实验仪器和设备奔腾以上计算机操作系统装有和软件三实验过程设计复数类成员变量包括实部和虚部成员方法包括实现复数加法减法字符串描述较是否相等等操作设计三角形类继承图形抽象类实现面下是否生成了文件夹在该文件夹中是否有文件编辑保存在同一目录下引用计算器类的各方法显示计算结果编码实现多态在工资系统中的应用给出一个根据
13、雇员类型利用方法和多态性完成工资单计算的程序是抽象类的子类有每星期发 欢迎下载 5 complexnumber temp=new complexnumber(0,0);temp.real=this.real-c.real;temp.imag=this.imag-c.imag;return temp;public boolean equals(complexnumber c)if(this=c|this.real=c.real&this.imag=c.imag)return true;return false;public String toString()return this.real+th
14、is.imag+i;public static void main(String args)complexnumber a=new complexnumber(1,2);System.out.println(第一个虚数为:+a.toString();complexnumber b=new complexnumber(1,2);System.out.println(第二个虚数为:+b.toString();System.out.println(两个徐庶的和:+a.add(b).toString();System.out.println(两个徐庶的差:+a.sub(b).toString();if
15、(a.equals(b)System.out.println(两个虚数相等);else System.out.println(两个虚数不相等);(2)代码如下:Point 类:package shiyan2_2;public class Point public int x,y;public Point(int x,int y)和要求熟练掌握语言类定义的基本语法熟练掌握类成员的访问控制对象建立的方法熟练掌握类构造方法成员方法的定义和重载熟练掌握类继承多态和抽象性熟练掌握接口的定义和实现方法掌握基本的异常处理方法调试程序要记录调实验后给出本实验的实验报告二实验仪器和设备奔腾以上计算机操作系统装有
16、和软件三实验过程设计复数类成员变量包括实部和虚部成员方法包括实现复数加法减法字符串描述较是否相等等操作设计三角形类继承图形抽象类实现面下是否生成了文件夹在该文件夹中是否有文件编辑保存在同一目录下引用计算器类的各方法显示计算结果编码实现多态在工资系统中的应用给出一个根据雇员类型利用方法和多态性完成工资单计算的程序是抽象类的子类有每星期发 欢迎下载 6 this.x=x;this.y=y;public Point()this(0,0);public String toString()return Point(+this.x+,+this.y+);figure类:package shiyan2_2;
17、public class figure public Point point1;protected String shape;protected figure(Point point)this.point1=point;protected figure(Point point,String shape)this.point1=point;this.shape=shape;protected figure()this(new Point();Triangle类:package shiyan2_2;public class Triangle extends figure implements Ar
18、ea,Perimeter public Point point2,point3;protected double a,b,c;public Triangle(Point p1,Point p2,Point p3)super(p1,三角形);this.point2=p2;和要求熟练掌握语言类定义的基本语法熟练掌握类成员的访问控制对象建立的方法熟练掌握类构造方法成员方法的定义和重载熟练掌握类继承多态和抽象性熟练掌握接口的定义和实现方法掌握基本的异常处理方法调试程序要记录调实验后给出本实验的实验报告二实验仪器和设备奔腾以上计算机操作系统装有和软件三实验过程设计复数类成员变量包括实部和虚部成员方法包括
19、实现复数加法减法字符串描述较是否相等等操作设计三角形类继承图形抽象类实现面下是否生成了文件夹在该文件夹中是否有文件编辑保存在同一目录下引用计算器类的各方法显示计算结果编码实现多态在工资系统中的应用给出一个根据雇员类型利用方法和多态性完成工资单计算的程序是抽象类的子类有每星期发 欢迎下载 7 this.point3=p3;this.a=Math.sqrt(point1.x-point2.x)*(point1.x-point2.x)+(point1.y-point2.y)*(point1.y-point2.y);this.b=Math.sqrt(point2.x-point3.x)*(point2
20、.x-point3.x)+(point2.y-point3.y)*(point2.y-point3.y);this.c=Math.sqrt(point3.x-point1.x)*(point3.x-point1.x)+(point3.y-point1.y)*(point3.y-point1.y);public Triangle(Point p1,double a,double b,double c)super(p1,三角形);this.a=a;this.b=b;this.c=c;public double area()double s=(a+b+c)/2;return Math.sqrt(s*
21、(s-a)*(s-b)*(s-c);public double perimeter()return a+b+c;public String toString()return this.getClass().getName()+this.shape+,三点坐标+this.point1+,+(this.point2=null?null:this.point2.toString()+,+(this.point3=null?null:this.point3.toString()+,三边长+String.format(%1.2f,%1.2f,%1.2f,this.a,this.b,this.c);Are
22、a 接口:package shiyan2_2;public interface Area public abstract double area();Perimeter接口:package shiyan2_2;和要求熟练掌握语言类定义的基本语法熟练掌握类成员的访问控制对象建立的方法熟练掌握类构造方法成员方法的定义和重载熟练掌握类继承多态和抽象性熟练掌握接口的定义和实现方法掌握基本的异常处理方法调试程序要记录调实验后给出本实验的实验报告二实验仪器和设备奔腾以上计算机操作系统装有和软件三实验过程设计复数类成员变量包括实部和虚部成员方法包括实现复数加法减法字符串描述较是否相等等操作设计三角形类继承图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 实验 264224 计算机
限制150内