没有合适的资源?快使用搜索试试~ 我知道了~
java实验2.doc
0 下载量 95 浏览量
2024-05-15
09:58:29
上传
评论
收藏 63KB DOC 举报
温馨提示
试读
13页
java实验2.doc
资源推荐
资源详情
资源评论
实验项目名称: 面向对象编 实验学时: 8
同组学生姓名: ———— 实验地点: 1514 /A203
实验日期: 4、13/4、15/4、20/4、22 实验成绩:
批改教师: 王倩倩 批改时间:
一、实验目得与要求
(1)熟练掌握 Java 语言类定义得基本语法;
(2)熟练掌握类成员得访问控制,对象建立得方法;
(3)熟练掌握类构造方法、成员方法得定义与重载;
(4)熟练掌握类继承、多态与抽象性;
(5)熟练掌握接口得定义与实现方法;
(6)掌握基本得异常处理方法;
(7)调试程序要记录调试过程中出现得问题及解决办法;
(8)编写程序要规范、正确,上机调试过程与结果要有记录,不断积累编程及调试经验;
(9) 做完实验后给出本实验得实验报告。
二、实验仪器与设备
奔腾以上计算机,Windows 操作系统,装有 JDK1、7 与 Eclipse 软件。
三、实验过程
(1) 设计复数类,成员变量包括实部与虚部,成员方法包括实现复数加法、减法、字符串
描述、比较就是否相等等操作。
(2) 设计三角形类,继承图形抽象类,实现面积接口与周长接口,计算三角形面积与周长。
(3) 包得建立与使用:设计计算器类 Calculator,计算加、减、乘、除,并且打包为
mypackage。观察源文件目录下就是否生成了 mypackage 文件夹,在该文件夹中就是否有
Calculate、class 文件。编辑 PackageDemo、java,保存在 Calculator、java 同一目录
下,引用计算器类得各方法显示计算结果。
(4) 编码实现多态在工资系统中得应用:给出一个根据雇员类型利用 abstract 方法与多
态性完成工资单计算得程序。Employee 就是抽象类,Employee 得子类有 Boss(每星期发
给她固定工资,而不计工作时间)、missionWorker(除基本工资外还根据销售额发放浮动
工资)、PieceWorker(按其生产得产品数发放工资)、HourlyWorker(根据工作时间长短
发放工资)。该例得 Employee 得每个子类都声明为 final,因为不需要再继承它们生成
子类。在主测试类 Test 中测试各类雇员工资计算结果。
提示:对所有雇员类型都使用 earnings 方法,但每个人挣得工资按她所属得雇员类计
算,所有雇员类都就是从超类 Employee 派出生得。在超类中声明 earnings 为抽象方法,
并且对于每个子类都提供恰当得 earnings 得实现方法。为了计算雇员得工资,程序仅仅
使用雇员对象得一个超类引用并调用 earnings 方法。在一个实际得工资系统中,各种
Employee 对象得引用可以通过一个 Employee 引用数组来实现。程序依次使用数组得每
个元素(Employee 引用)调用每个对象得 earnings 方法。
Employee 类定义如下:
abstract 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 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=Integer 、parseInt(cl);
System 、out 、print("请输入被除数:");
cl=strin 、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 除时抛出该异常,其余除数显示
商值。
要求:
(1) 注意选用适当得类成员修饰符(private、protected、public 等),比较它们得使用
情况;
(2) 养成良好得编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包
得命名方式如 two、num1 表示实验二得第一题;
(3) 学会使用 Eclipse 得各种调试方法;
(4) 学会查阅 Java API 文档,如查找异常类得使用方法。
程序清单:
(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美
观。)
(1) 代码如下:
package shiyan2_1;
public class plexnumber
{
private double real,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;
剩余12页未读,继续阅读
资源评论
平头哥在等你
- 粉丝: 2
- 资源: 7332
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功