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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

JAVA实验+答案.docx

1、JAVA实验+答案实验71.编一个程序,包含以下文件。(1)Shape.java文件,在该文件中定义接口Shape,该接口在shape包中。属性:PI。方法:求面积的方法area()。(2)Circle.java文件,在该文件中定义圆类Circle,该类在circle包中,实现Shape接口。属性:圆半径radius。方法:构造方法;实现接口中求面积方法area();求周长方法perimeter()。(3)“Cylinder.java”文件,在该文件中定义圆柱体类Cylinder,该类口在cylinder包中,继承圆类。属性:圆柱体高度height。方法:构造方法;求表面积方法area();求

2、体积方法volume()。(4)X5_3_6.java文件,在该文件中定义主类X5_3_6,该类在默认包中,其中包含主方法main(),在主方法中创建两个圆类对象cir1和cir2,具体尺寸自己确定,并显示圆的面积和周长;再创建两个圆柱体类的对象cy1和cy2,具体尺寸自己确定,然后分别显示圆柱体cy1和cy2的底圆的面积和周长以及它们各自的体积和表面积。【编程分析】本题主要考察接口、包、继承、封装等问题。编程步骤如下:第一步:首先创建p1包,在其中创建Shape接口/Shape.java文件packagep1; /创建p1包publicinterfaceShape /定义Shape接口 第二

3、步:创建Circle类和Cylinder类,它们都定义在p2包中。/Circle.java文件packagep2; /创建p2包importp1.*;publicclassCircleimplementsShape /定义实现Shape接口的Circle类 /Cylinder.java文件packagep2;publicclassCylinderextendsCircle /创建继承Circle类的Cylinder类 第三步:创建主类,在其中的main()方法中创建对象,实现相应的功能。/X5_3_6.java文件packagep3;importp2.*;publicclassX5_3_6/定

4、义主类publicstaticvoidmain(Stringargs) 【参考程序】/X5_3_6.java文件packagep3;importp2.*;publicclassX5_3_6/定义主类publicstaticvoidmain(Stringargs) Circlecir1=newCircle(120.5); Circlecir2=newCircle(183.8);+cir1.area();+cir1.perimeter();+cir2.area();+cir2.perimeter(); Cylindercy1=newCylinder(27.3,32.7); Cylindercy2=

5、newCylinder(133.5,155.8);+cy1.area();+cy1.volume();+cy2.area();+cy2.volume();/Shape.java文件packagep1; /创建p1包publicinterfaceShape /定义Shape接口 doublePI=Math.PI; doublearea(); /求面积方法/Circle.java文件packagep2; /创建p2包importp1.*;publicclassCircleimplementsShape /定义实现Shape接口的Circle类 doubleradius; /半径 publicCir

6、cle(doubler) radius=r; publicdoublearea() /实现Shape接口中的方法(这是必须的) returnPI*radius*radius; publicdoubleperimeter() /定义求圆周长的方法 return2*PI*radius; /Cylinder.java文件packagep2;publicclassCylinderextendsCircle /创建继承Circle类的Cylinder类 doubleheight; publicCylinder(doubler,doubleh) super(r); height=h; publicdoub

7、learea() return2*PI*radius*radius+2*PI*radius*height; publicdoublevolume() returnPI*radius*radius*height; 2)定义一个接口OneToN,在接口中包含一个抽象方法disp()。定义Sum和Pro类,并分别用不同代码实现ONeToN的disp()方法,在Sum的方法中计算1n的和,在Pro的方法中计算1n的乘积interfaceOneToN publicvoiddisp(intn);classSumimplementsOneToN publicvoiddisp(intn) intsum=0;

8、for(inti=1;i=n;i+) sum=sum+i; classProimplementsOneToN publicvoiddisp(intn) longpro=1; for(inti=1;i=n;i+) pro=pro*i; publicclassinterfaceTestpublicstaticvoidmain(Stringargs)/TODOcodeapplicationlogichereSumx=newSum();x.disp(100);3)改错,上传正确答案,并以注释形式给出错误原因classSuperClass publicSuperClass(Stringmsg) cons

9、tructor:+msg);classSubClassextendsSuperClass publicSubClass(Stringmsg) Super(msg);/父类没有无参的构造方法,应采用super显示调用父类的构造方法constructor); publicclassTest1publicstaticvoidmain(Stringargs)SubClassdescendent=newSubClass();4)利用多态性编程,创建一个抽象类shape类,定义一个函数Area为求面积的公共方法,再定义Triangle,Rectangle和circle类,实现computerArea方法;

10、增加display方法,显示name和area,并在Triangle,Rectangle和circle类覆盖该方法,并为每个类增加自己的构造方法;在主类中创建不同对象,求得不同形状的面积。答案略。实验8一、选择题1关于异常的含义,下列描述中最正确的一个是(D)。A程序编译错误 B程序语法错误C程序自定义的异常事件 D程序编译或运行时发生的异常事件【解析】异常就是程序编译或运行时发生的异常事件。2自定义异常时,可以通过对下列哪一项进行继承?(C)AError类 BApplet类CException类及其子类 DAssertionError类【解析】自定义异常类时,该类必须继承Exception类

11、及其子类。3对应try和catch子句的排列方式,下列哪一项是正确的?(A)A子类异常在前,父类异常在后 B父类异常在前,子类异常在后C只能有子类异常 D父类和子类不能同时出现在try语句块中【解析】对应try和catch子句的排列方式,要求子类异常(范围小的异常)在前,父类异常(范围大的异常)在后。4运行下面程序时,会产生什么异常?(A)publicclassX7_1_4 publicstaticvoidmain(Stringargs) intx=0; inty=5/x; intz=1,2,3,4; intp=z4;AArithmeticException BNumberFormatExce

12、ptionCArrayIndexOutOfBoundsException DIOException【解析】当程序执行到“inty=5/x”语句时,发生异常,程序中止执行,因此发生ArithmeticException异常。5运行下面程序时,会产生什么异常?(C)publicclassX7_1_5 publicstaticvoidmain(Stringargs) intz=1,2,3,4; intp=z4; intx=0; inty=5/x; AArithmeticException BNumberFormatExceptionCArrayIndexOutOfBoundsException DI

13、OException【解析】当程序执行到“intp=z4”语句时,发生异常,程序中止执行,因此发生ArrayIndexOutOfBoundsException异常。6下列程序执行的结果是(B)。 publicclassX7_1_6 publicstaticvoidmain(Stringargs) try return; finally A程序正常运行,但不输出任何结果 B程序正常运行,并输出FinallyC编译通过,但运行时出现异常 D因为没有catch子句,因此不能通过编译【解析】在执行try-catch-finally语句块时,最后必须执行finally语句块中的内容,而本程序没有异常发生

14、,因此程序正常运行,并输出Finally。7下列代码中给出正确的在方法体内抛出异常的是(B)。AnewthrowException(); BthrownewException();CthrowsIOException(); DthrowsIOException;【解析】在方法体内抛出异常时只能使用throw,而不能使用throws,另外,“newException()”是创建一个异常,因此B是正确的。8下列描述了Java语言通过面相对象的方法进行异常处理的好处,请选出不在这些好处范围之内的一项(C)A把各种不同的异常事件进行分类,体现了良好的继承性B把错误处理代码从常规代码中分离出来C可以利用

15、异常处理机制代替传统的控制流程D这种机制对具有动态运行特性的复杂程序提供了强有力的支持【解析】异常处理机制不能代替传统的流程控制。二、编程题1编写一个系统自动抛出的、系统自行处理的数组大小为负数的程序。【编程分析】当编写的程序中没有处理异常的语句时,系统会自动抛出异常,并自行进行处理。【参考程序】publicclassX7_3_1publicstaticvoidmain(Stringargs) inta=newint-5; for(inti=0;i5) /当输入的n值大于5时将由throw抛出异常 thrownewArrayIndexOutOfBoundsException(); 程序继续执行

16、); for(inti=0;in;i+) ai=10+i; 【运行结果】8ExceptioninthreadmainatC1.main(C1.java:9)3编写一个系统自动抛出的、由trycatch捕捉处理的分母为0以及数组下标越界的程序。【编程分析】当在try语句块中出现分母为0的情况时,如果在catch参数中有ArithmeticException对象,则就能捕捉到该异常并进行处理;同样,当在try语句块中出现分母为数组下标越界的情况时,如果在catch参数中有ArrayIndexOutOfBoundsException对象,则就能捕捉到该异常并进行处理。【参考程序】importjava

17、.io.*;publicclassX7_3_3 publicstaticvoidmain(Stringargs)throwsIOException InputStreamReaderisr=newInputStreamReader(System.in); BufferedReaderbr=newBufferedReader(isr); inta=Integer.parseInt(br.readLine(); intb=Integer.parseInt(br.readLine(); try /当输入的b为0时,就会出现算术异常 catch(ArithmeticExceptione) /捕捉算术异

18、常并进行处理 intc=newint4,sum=0; try /当出现数组下标越界时就会抛出异常 for(inti=0;i5;i+)sum+=ci;sum=+sum); catch(ArrayIndexOutOfBoundsExceptione)/捕捉数组下标越界异常并处理 【运行结果】请输入两个整数:200出现被0除的情况!数组下标越界!4编写一个由throw抛出的、由trycatch捕捉处理的分母为0以及数组下标越界的程序。【编程分析】当在程序出现异常之前利用throw语句来抛出异常,可以做到防患于未然,提前进行异常处理,将由被动处理异常转变为主动防止异常发生。【参考程序】importja

19、va.io.*;publicclassX7_3_4 publicstaticvoidmain(Stringargs)throwsIOException InputStreamReaderisr=newInputStreamReader(System.in); BufferedReaderbr=newBufferedReader(isr); inta=Integer.parseInt(br.readLine(); intb=Integer.parseInt(br.readLine(); try if(b=0) thrownewArithmeticException(抛出算术异常); catch(

20、ArithmeticExceptione) e.printStackTrace(); intc=1,2,3,4,sum=0; try for(inti=0;i=4) thrownewArrayIndexOutOfBoundsException(抛出数组下标越界异常); sum+=ci;sum=+sum); catch(ArrayIndexOutOfBoundsExceptione) e.printStackTrace(); 5自定义两个异常类NumberTooBigException和NumberTooSmallException,在其中定义各自的构造方法,分别打印输出“发生数字太大异常”和“

21、发生数字太小异常”。然后在主类中定义一个带throws的方法numberException(intx),当x100时通过throw抛出NumberTooBigException异常,当x100) thrownewNumberTooBigException(); elseif(x100) thrownewNumberTooBigException(); elseif(x0) thrownewNumberTooSmallException(); else classNumberTooBigExceptionextendsException NumberTooBigException() super

22、(发生数字太大异常); classNumberTooSmallExceptionextendsException NumberTooSmallException() super(发生数字太小异常); 实验9一、选择题1下列说法中错误的一项是(B)。A构件是一个可视化的能与用户在屏幕上交互的对象B构件能够独立显示出来C构件必须放在某个容器中才能正确显示D一个按钮可以是一个构件【解析】构件不能独立显示,它必须放在某个容器中才能正确显示。2进行Java基本GUI设计需要用到的包是(C)。Ajava.io Bjava.sql Cjava.awt Djava.rmi【解析】进行Java基本GUI设计需要

23、用到的包是java.awt和javax.swing3Container是下列哪一个类的子类(D)?AGraphics BWindow CApplet DComponent【解析】Container类是由Component类派生的。B)。Window Cjava.awtWindow。5下列哪个方法可以将MenuBar加入Frame中(D)?AsetMenu() BaddMenuBar() Cadd() DsetMenuBar()【解析】可以将MenuBar加入Frame中的方法是setMenuBar()。6下列叙述中,错误的一项是(D)。A采用GridLayout布局,容器中的每个构件平均分配容器空间B采用GridLayout布局,容器中的每个构件形成一个网络状的布局C采用GridLayout布局,容器中的构件按照从左到右、从上到下的顺序排列D采用GridLayout布局,容器大小改变时,每个构件不再平均分配容器空间【解析】采用GridLayout布局,容器大小改变时,每个构件平均分配容器空间。7当单击鼠标或拖动鼠标时,触发的

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

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