JAVA实验7-9+参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验7 1. 编一个程序,包含以下文件。
(1)Shape.java文件,在该文件中定义接口Shape,该接口在shape包中。
属性:PI。
方法:求面积的方法area()。
(2)Circle.java文件,在该文件中定义圆类Circle,该类在circle包中,实现Shape接口。
属性:圆半径radius。
方法:构造方法;实现接口中求面积方法area();求周长方法perimeter()。
(3)“Cylinder.java”文件,在该文件中定义圆柱体类Cylinder,该类口在cylinder包中,继承圆类。
属性:圆柱体高度height。
(4main(),}
第三步:创建主类,在其中的main()方法中创建对象,实现相应的功能。
// X5_3_6.java文件
package p3;
import p2.*;
public class X5_3_6 { // 定义主类
public static void main(String[] args) {
…
}
}
【参考程序】
// X5_3_6.java文件
package p3;
import p2.*;
public class X5_3_6 { // 定义主类
public static void main(String[] args) {
Circle cir1 = new Circle(120.5);
Circle cir2 = new Circle(183.8);
r1.area());
Cylinder cy1 = new Cylinder(27.3,32.7);
Cylinder cy2 = new Cylinder(133.5,155.8);
}
}
}
}
public class Cylinder extends Circle{ // 创建继承Circle类的Cylinder类double height;
public Cylinder(double r,double h){
super(r);
height = h;
}
public double area(){
return 2*PI*radius*radius+2*PI*radius*height;
}
public double volume(){
return PI*radius*radius*height;
}
}
2)定义一个接口OneToN,在接口中包含一个抽象方法disp()。定义Sum和Pro类,并分别用不同代码实现ONeToN的disp()方法,在Sum的方法中计算1~n的和,在Pro的方法中计算1~n的乘积interface OneToN
{
public void disp(int n);
}
class Sum implements OneToN
{
public void disp(int n)
{
}
}
{
{
}
}
x.disp(100);
}
}
3)改错,上传正确答案,并以注释形式给出错误原因
class SuperClass
{
public SuperClass(String msg)
}
class SubClass extends SuperClass
{
public SubClass(String msg)
{
Super(msg); //父类没有无参的构造方法,应采用super显示调用父类的构造方法}
}
public class Test1 {
public static void main(String[] args) {
SubClass descendent = new SubClass();
}
}
4)利用多态性编程,创建一个抽象类shape类,定义一个函数Area为求面积的公共方法,再定义Triangle,Rectangle和circle类,实现computerArea方法;增加display方法,显示name和area,并在Triangle,Rectangle和circle类覆盖该方法,并为每个类增加自己的构造方法;在主类中创建
1
A
C
2
A.
C.
3
A
C
4
}
A.ArithmeticException B.NumberFormatException
C.ArrayIndexOutOfBoundsException D.IOException
【解析】当程序执行到“int y = 5/x”语句时,发生异常,程序中止执行,因此发生ArithmeticException 异常。
5.运行下面程序时,会产生什么异常?( C )
public class X7_1_5 {
public static void main(String[] args) {
int[] z = {1,2,3,4};
int p = z[4];
int x = 0;
int y = 5/x;