包接口抽象类异常处理.docx
- 文档编号:25499744
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:9
- 大小:17.43KB
包接口抽象类异常处理.docx
《包接口抽象类异常处理.docx》由会员分享,可在线阅读,更多相关《包接口抽象类异常处理.docx(9页珍藏版)》请在冰豆网上搜索。
包接口抽象类异常处理
淮阴工学院
课程实验报告
课程名称
JAVA程序设计教程
班级
实验日期
姓名
学号
实验成绩
实验名称
包、接口抽象类&&异常处理
实
验
目
的
及
要
求
实验目的:
1.了解Java中包(package)、接口(interface)和抽象类的作用。
2.掌握包、接口、抽象类的设计方法。
3.了解Java异常处理(exception)的作用。
4.掌握异常处理的设计方法。
实验要求:
1.了解Java系统包的结构。
2.掌握创建自定义包的方法。
3.掌握使用系统接口的技术和创建自定义接口的方法。
4.理解系统异常处理的机制和创建自定义异常的方法。
实
验
环
境
Windows2000或XP,与
实
验
内
容
1.定义一个抽象基类Shape,它包含三个抽象方法center()、diameter()、getArea(),从Shape类派生出Square和Circle类,这两个类都用center()计算对象的中心坐标,diameter()计算对象的外界圆直径,getArea()方法计算对象的面积。
编写编写应用程序使用Square类和Circle类。
2.定义一个接口Insurance,接口中有四个抽象方法:
publicintgetPolicyNumber();publicintgetCoverageAmount();publicdoublecalculatePremium();publicDategetExpiryDate()。
设计一个类Car,该类实现接口的方法,编写应用程序。
3.定义泛型接口Function
请定义一个CollectionUtil类,该类主要对集合进行操作,所有的方法都是静态方法。
请思考并以下问题:
1)我们需要一个CollectionUtil对象吗该类是否应该是抽象类
2)定义方法
Publicstatic
Collection
Function
注意:
Collection是java集合的父接口对象,该方法的作用是针对
集合data中的每一个元素,我们运用一个转换规则对象converter得到另外一个对象。
例如:
对于一个浮点数集合source为{,,,},对该集合中的每一个元素进行四舍五入操作,可以得到一个整数的集合{2,4,6,-2},为了完成上述转换,我们可以定义转换类
publicclassToIntFunimplementsFunction
publicIntegerfun(Doublex){
returnx四舍五入的结果;
}
}
然后我们调用CollectionUtil.Convert
请你完成方法convert和ToIntFun.Fun,并且编写一个主程序来测试。
测试分为两个层次:
a.测试单个元素的转换是否正确b.测试集合的转换是否正确
3)定义接口Command
然后为CollectionUtil类定义静态方法
该方法的作用是针对集合data中的每个元素,执行某个操作。
请你定义一个类
ClassPositionSum实现接口Command
然后完成方法并且在主程序中测试PositionSum和。
4.自定义异常类MyException,该类继承自Exception类,类中只有含一个字符串参数msg的构造方法,构造方法中只有一条语句super(msg)——调用父类的构造方法。
另外,编写自定义类person,类中只有两个私有的变量,一个是字符串类型的姓名,另一个是整型变量age;有两个公有方法voidgetAge()和setAge(intage),其中setAge(intage)的功能是把参数age的值加到类中的变量age中(但要求age>0,否则抛出自定义异常MyException类的对象),getAge()方法返回age的值。
编写应用程序。
算
法
描
述
及
实
验
步
骤
调
试
过
程
及
实
验
结
果
实验1
测试结果:
中心坐标为:
外界圆直径为2.
面积为:
中心坐标为:
外界圆直径为2.
面积为:
实验2
测试结果:
保单号:
11100
保险金额:
12200
保险总计:
终止日期:
null
实验3
测试结果:
实验4
测试结果:
请输入年龄:
22
张三的年龄为:
22
请输入年龄:
-3
Exceptioninthread"main"MyException:
年龄必须大于0
at:
24)
at:
36)
总
结
附
录
实验1
代码如下:
publicabstractclassShape{
protecteddoublex1;
protecteddoubley1;
protecteddoublex2;
protecteddoubley2;
Shape(doublex1,doubley1,doublex2,doubley2){
=x1;
=y1;
=x2;
=y2;
}
publicabstractStringcenter();
publicabstractdoublediameter();
publicabstractdoublegetArea();
}
publicclassSquareextendsShape{
Square(doublex1,doubley1,doublex2,doubley2){
super(x1,y1,x2,y2);
}
publicStringcenter(){
return"("+(x2-x1)/2+","+(y2-y1)/2+")";
}
publicdoublediameter(){
return((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
}
publicdoublegetArea(){
return(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);
}
}
publicclassCircleextendsShape{
Circle(doublex1,doubley1,doublex2,doubley2){
super(x1,y1,x2,y2);
}
publicStringcenter(){
return"("+(x2-x1)/2+","+(y2-y1)/2+")";
}
publicdoublediameter(){
return((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
}
publicdoublegetArea(){
return*(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)/4;
}
publicstaticvoidmain(String[]args){
Squarea=newSquare,,,;
Circleb=newCircle,,,;
"中心坐标为:
");
"外界圆直径为");
"面积为:
");
"中心坐标为:
");
"外界圆直径为");
"面积为:
");
}
}
实验2
代码如下:
import定义接口
publicinterfaceInsurance{
publicabstractintgetPolicyNumber();
publicabstractintgetCoverageAmount();
publicabstractdoublecalculatePremium();
publicabstractDategetExpiryDate();
}
importclassCarimplementsInsurance{
publicintgetPolicyNumber(){
return11100;//直接返回保单号
}
publicintgetCoverageAmount(){
return12200;//返回保险金额
}
publicdoublecalculatePremium(){
return;//返回保险的总金额
}
publicDategetExpiryDate(){
returnnull;//没有终止日期
}
publicstaticvoidmain(String[]args){
Cara=newCar();
"保单号:
"+());
"保险金额:
"+());
"保险总计:
"+());
"终止日期:
"+());
}
}
实验3
代码如下:
实验4
代码如下:
publicclassMyExceptionextendsException{
publicMyException(Stringmsg){
super(msg);
}
}
importclassPerson
{
privateStringname;
privateintage;
publicPerson(Stringa)
{
name=a;
}
publicintgetAge()
{
returnage;
}
publicStringgetname()
{
returnname;
}
publicvoidsetAge(intage)throwsMyException
{
if(age<0)
{
thrownewMyException("年龄必须大于0");
}
else=age;
}
publicstaticvoidmain(String[]args)throwsMyException
{
Persona=newPerson("张三");
"请输入年龄:
");
Scannerinput=newScanner;
intage=();
(age);
"的年龄为:
"+());
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 接口 抽象 异常 处理