JAVA实验79+答案.docx

上传人:b****7 文档编号:11389530 上传时间:2023-02-28 格式:DOCX 页数:16 大小:64.70KB
下载 相关 举报
JAVA实验79+答案.docx_第1页
第1页 / 共16页
JAVA实验79+答案.docx_第2页
第2页 / 共16页
JAVA实验79+答案.docx_第3页
第3页 / 共16页
JAVA实验79+答案.docx_第4页
第4页 / 共16页
JAVA实验79+答案.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

JAVA实验79+答案.docx

《JAVA实验79+答案.docx》由会员分享,可在线阅读,更多相关《JAVA实验79+答案.docx(16页珍藏版)》请在冰豆网上搜索。

JAVA实验79+答案.docx

JAVA实验79+答案

实验7

1.编一个程序,包含以下文件。

(1)文件,在该文件中定义接口Shape,该接口在shape包中。

属性:

PI。

方法:

求面积的方法area()。

(2)文件,在该文件中定义圆类Circle,该类在circle包中,实现Shape接口。

属性:

圆半径radius。

方法:

构造方法;实现接口中求面积方法area();求周长方法perimeter()。

(3)“”文件,在该文件中定义圆柱体类Cylinder,该类口在cylinder包中,继承圆类。

属性:

圆柱体高度height。

&

方法:

构造方法;求表面积方法area();求体积方法volume()。

(4)文件,在该文件中定义主类X5_3_6,该类在默认包中,其中包含主方法main(),在主方法中创建两个圆类对象cir1和cir2,具体尺寸自己确定,并显示圆的面积和周长;再创建两个圆柱体类的对象cy1和cy2,具体尺寸自己确定,然后分别显示圆柱体cy1和cy2的底圆的面积和周长以及它们各自的体积和表面积。

【编程分析】本题主要考察接口、包、继承、封装等问题。

编程步骤如下:

第一步:

首先创建p1包,在其中创建Shape接口

;

publicclassCircleimplementsShape{;

publicclassX5_3_6{;

publicclassX5_3_6{;

publicclassCircleimplementsShape{;

publicclassX7_3_2{

publicstaticvoidmain(String[]args)throwsIOException{

InputStreamReaderisr=newInputStreamReader;

BufferedReaderbr=newBufferedReader(isr);

int[]a=newint[5];

intn=());

if(n>5);

publicclassX7_3_3{

publicstaticvoidmain(Stringargs[])throwsIOException{

InputStreamReaderisr=newInputStreamReader;

BufferedReaderbr=newBufferedReader(isr);

.

"请输入两个整数:

");

inta=(());

intb=(());

try{;

publicclassX7_3_4{

publicstaticvoidmain(Stringargs[])throwsIOException{

InputStreamReaderisr=newInputStreamReader;

BufferedReaderbr=newBufferedReader(isr);

"请输入两个整数:

");

inta=(());

intb=(());

try{

if(b==0)

thrownewArithmeticException("抛出算术异常");

}

catch(ArithmeticExceptione){

();

"出现被0除的情况!

");

}

intc[]={1,2,3,4},sum=0;

try{

for(inti=0;i<5;i++){

if(i>=4)

thrownewArrayIndexOutOfBoundsException("抛出数组下标越界异常");

sum+=c[i];

"sum="+sum);

}

}

catch(ArrayIndexOutOfBoundsExceptione){

();

"数组下标越界!

");

}

}

}

5.自定义两个异常类NumberTooBigException和NumberTooSmallException,在其中定义各自的构造方法,分别打印输出“发生数字太大异常”和“发生数字太小异常”。

然后在主类中定义一个带throws的方法numberException(intx),当x>100时通过throw抛出NumberTooBigException异常,当x<0时通过throw抛出NumberTooSmallException异常;最后在main()方法中调用该方法,实现从键盘中输入一个整数,如果输入的是负数,引发NumberTooSmallException异常,如果输入的数大于100,引发。

NumberTooBigException异常,否则输出“没有发生异常”。

【编程分析】本题主要考察自定义异常的方法。

第一步:

定义异常类NumberTooBigException

classNumberTooBigExceptionextendsException{

NumberTooBigException(){

[

super("发生数字太大异常");

}

}

第二步:

定义异常类NumberTooSmallException

classNumberTooSmallExceptionextendsException{

NumberTooSmallException(){

super("发生数字太小异常");

}

}

第三步:

在主类X7_3_5中定义numberException()方法。

<

publicstaticvoidnumberException(intx)

throwsNumberTooBigException,NumberTooSmallException{

if(x>100)

thrownewNumberTooBigException();

elseif(x<0)

thrownewNumberTooSmallException();

else

"没有异常发生");

}

第四步:

在main()方法中调用numberException()方法并捕捉和处理由此方法引起的异常。

^

【参考程序】

import.*;

publicclassX7_3_5{

publicstaticvoidmain(Stringargs[])throwsIOException{

InputStreamReaderisr=newInputStreamReader;

BufferedReaderbr=newBufferedReader(isr);

"请输入一个整数:

");

inta=(());

try{

numberException(a);

·

}catch(NumberTooBigExceptione){

();

}catch(NumberTooSmallExceptione){

();

}

}

publicstaticvoidnumberException(intx)throwsNumberTooBigException,NumberTooSmallException{

if(x>100)

thrownewNumberTooBigException();

elseif(x<0)

;

thrownewNumberTooSmallException();

else

"没有异常发生");

}

}

classNumberTooBigExceptionextendsException{

NumberTooBigException(){

super("发生数字太大异常");

}

}

~

classNumberTooSmallExceptionextendsException{

NumberTooSmallException(){

super("发生数字太小异常");

}

}

实验9

一、选择题

1.下列说法中错误的一项是(B)。

A.构件是一个可视化的能与用户在屏幕上交互的对象

B.构件能够独立显示出来

C.构件必须放在某个容器中才能正确显示

D.一个按钮可以是一个构件

【解析】构件不能独立显示,它必须放在某个容器中才能正确显示。

2.进行Java基本GUI设计需要用到的包是(C)。

A.B.C.D.

【解析】进行Java基本GUI设计需要用到的包是和

3.Container是下列哪一个类的子类(D)

A.GraphicsB.WindowC.AppletD.Component

【解析】Container类是由Component类派生的。

4.的父类是(B)。

A.B.Window

C.PanelD.【解析】的父类Window。

5.下列哪个方法可以将MenuBar加入Frame中(D)

A.setMenu()B.addMenuBar()C.add()D.setMenuBar()

【解析】可以将MenuBar加入Frame中的方法是setMenuBar()。

6.下列叙述中,错误的一项是(D)。

A.采用GridLayout布局,容器中的每个构件平均分配容器空间

B.采用GridLayout布局,容器中的每个构件形成一个网络状的布局

C.采用GridLayout布局,容器中的构件按照从左到右、从上到下的顺序排列

~

D.采用GridLayout布局,容器大小改变时,每个构件不再平均分配容器空间

【解析】采用GridLayout布局,容器大小改变时,每个构件平均分配容器空间。

7.当单击鼠标或拖动鼠标时,触发的事件是(D)。

A.KeyEventB.ActionEventC.ItemEventD.MouseEvent

【解析】对鼠标操作,触发的事件是MouseEvent事件。

8.下列哪一项不属于Swing的顶层组件(C)

A.JAppletB.JDialogC.JTreeD.Jframe

【解析】JTree只有在容器中才能显示,它不属于swing的顶层组件。

9.下列说法中错误的一项是(D)。

A.在实际编程中,一般使用的是Component类的子类

'

B.在实际编程中,一般使用的是Container类的子类

C.Container类是Component类的子类

D.容器中可以放置构件,但是不能够放置容器

【解析】容器中既可以放置构件,也可以放置容器。

10.下列哪一项不属于AWT布局管理器(D)

A.GridLayoutB.CardLayoutC.BorderLayoutD.BoxLayout

【解析】BoxLayout属于swing布局管理器,不属于AWT布局管理器。

11.下列说法中错误的一项是(A)。

A.MouseAdapter是鼠标运动适配器B.WindowAdapter是窗口适配器

C.ContainerAdapter是容器适配器D.KeyAdapter是键盘适配器

~

【解析】MouseAdapter是鼠标适配器,而MouseMotionAdapte才是鼠标运动适配器。

12.布局管理器可以管理构件的哪个属性(A)

A.大小B.颜色C.名称D.字体

【解析】布局管理器可以管理构件的位置和大小,而不能管理构件的其他属性。

13.编写AWT图形用户界面的时候,一定要import的语句是(B)。

A.import;B.import.*;

C.importD.import.*;

【解析】“import.*;”语句的含义是加载awt包中的所有类,而其他都不是。

14.在类中若要处理ActionEvent事件,则该类需要实现的接口是(B)。

A.RunnableB.ActionListenerC.SerializableD.Event

:

【解析】处理ActionEvent事件的类需要实现的接口是ActionListener,它其中包含了actionPerformed()方法。

15.下列不属于包中的基本概念的一项是(C)。

A.容器B.构件C.线程D.布局管理器

【解析】线程不属于包中的基本概念的一项,其他三个都是。

16.下列关于AWT构件的说法中错误的一项是(D)。

A.Frame是顶级窗口,它无法直接监听键盘输入事件

B.对话框需要依赖于其他窗口而存在

C.菜单只能被添加到菜单栏中

D.可以将菜单添加到任意容器的某处

【解析】菜单只能添加到Applet、Frame等容器中,不能添加到任意容器的某处。

'

17.JPanel的默认布局管理器是(C)。

A.BorderLayoutB.GridLayoutC.FlowLayoutD.CardLayout

【解析】Panel、JPanel和Applet的默认布局管理器都是FlowLayout。

18.下列说法中错误的是(B)。

A.在Windows系统下,Frame窗口是有标题、边框的

B.Frame的对象实例化后,没有大小,但是可以看到

C.通过调用Frame的setSize()方法来设定窗口的大小

D.通过调用Frame的setVisible(true)方法来设置窗口为可见

【解析】Frame的对象实例化后,没有大小,也不能看到,只有通过调用Frame的setSize()和setVisible(true)方法才能设定窗口的大小和可见性。

19.下列说法中错误的是(D)。

A.同一个对象可以监听一个事件源上多个不同的事件

B.一个类可以实现多个监听器接口

C.一个类中可以同时出现事件源和事件处理者

D.一个类只能实现一个监听器接口

【解析】一个类可以实现多个监听器接口,从而实现对多个事件的监听。

20.下列选项中不属于容器的一项是()。

A.WindowB.PanelC.FlowLayoutD.ScrollPane

【解析】FlowLayout类属于布局管理器,而不属于容器。

二、编程题

<

1.创建一个Frame类型窗口,在窗口中添加2个不同颜色的Panel面板,每个面板中添加2个按钮构件。

【编程分析】本程序主要考察窗口、面板以及按钮的创建及布局问题。

第一步:

首先定义一个主类,让该类继承Frame类。

第二步:

定义该类的数据成员,包括两个Panel对象,一个长度为4的Button对象数组。

第三步:

创建类的工作方法,在方法中创建各个对象、设置对象属性、布局整个界面、设置窗口大小并显示界面。

第四步:

在类的main()方法中创建本类对象,从而显示整个窗口界面。

【参考程序】

import.*;

import.*;

publicclassX10_3_1extendsFrame{

Panelpn1,pn2;

;

import.*;

publicclassX10_3_2extendsFrame{

Panelpn1,pn2;,"+","="}};

publicstaticvoidmain(String[]args)throwsIOException{

newX10_3_2();

}

publicX10_3_2(){

pn1=newPanel();

;

importclassX10_3_3{

;

&

importclassX10_3_4{//定义主类

publicstaticvoidmain(String[]args){

newMouseKeyFrame();

}

}

classMouseKeyFrameextendsFrame{//定义创建窗口、处理鼠标和键盘事件的类

Panelpn;

TextFieldtf1,tf2;

KeyHandlerkh;

MouseKeyFrame(){

pn=newPanel(newBorderLayout());

tf1=newTextField(30);

tf2=newTextField(30);

kh=newKeyHandler(newDimension(200,80),);

(kh,;

(tf2,;

(tf1,;

(pn,;

(newMouseHandler());

(newMouseHandler());

^

(newWindowAdapter(){//关闭窗口事件处理

publicvoidwindowClosing(WindowEvente){

(0);

}

});

(400,300);

(true);

}

classMouseHandlerimplementsMouseListener,MouseMotionListener{

//处理鼠标事件内部类

'

//以下5个方法是实现MouseListener接口中的方法

publicvoidmouseEntered(MouseEvente){

("Mouseenteredtheframe!

");

}

publicvoidmouseExited(MouseEvente){

("Mouseexitedtheframe!

");

}

publicvoidmousePressed(MouseEvente){

("Mousepressedintheframe!

");

}

}

publicvoidmouseReleased(MouseEvente){

("Mousereleasedintheframe!

");

}

publicvoidmouseClicked(MouseEvente){

("Mouseclickedintheframe!

");

}

//以下2个方法是实现MouseMotionListener接口中的方法

publicvoidmouseMoved(MouseEvente){法

("Mousemovedintheframe!

");

}

publicvoidmouseDragged(MouseEvente){

("Mousedraggedintheframe!

");

}

}

classKeyHandlerextendsCanvasimplementsKeyListener{//处理键盘事件内部类

StringBuffersb;

KeyHandler(Dimensiond,Colorc){

sb=newStringBuffer();

(d);

(c);

(this);

}

publicvoidkeyPressed(KeyEvente){}

publicvoidkeyReleased(KeyEvente){}

publicvoidkeyTyped(KeyEvente){

(""+()));

repaint();

}

publicvoidpaint(Graphicsg){

(""+sb,10,20);

}

}

}

【运行结果】当鼠标进入窗口(上面白色区域)时,将在上面的文本框中显示鼠标动作,当用鼠标点击画布(下面有色区域)使画布获得焦点后,即可以用键盘输入数据,输入的数据在画布和下面的文本框中同时显示。

如下图:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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