Java试题AWord格式文档下载.docx
- 文档编号:5785467
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:17
- 大小:20.36KB
Java试题AWord格式文档下载.docx
《Java试题AWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《Java试题AWord格式文档下载.docx(17页珍藏版)》请在冰点文库上搜索。
5.当Frame的大小被改变时Frame中的按钮的位置可能被改变时使用的是哪一个布局管理器(B)。
A.BorderLayoutB.FlowLayout
C.GridLayoutD.CardLayout
6.
Java中关于域的隐藏以下叙述正确的是(C)。
A.子类隐藏父类的域时,子类对象对父类同名的域将不能再做访问。
B.子类隐藏父类的域时,父类对象对子类同名的域仍可以进行访问。
C.子类隐藏父类的域时,父类的同名域在子类对象中仍占有独立的内存空间。
D.子类隐藏父类的域时,父类和子类的同名域在子类对象中共享内存空间。
7.
一个JavaApplet程序要进行事件处理,则该程序可能不需要加载的包是(B)。
A.java.applet包B.java.io包
C.java.awt包D.java.awt.event包
8.
Java中的接口是用来实现类间多重继承的结构,关于接口以下说法错误的是(B)。
A.接口中的属性都是常量,接口中的方法都是没有方法体的抽象方法。
B.若实现接口的类是abstract的抽象类,则该类必须实现指定接口中的所有抽象方法。
C.接口中的属性都是publicstaticfinal,接口中的方法都是publicabstract,无论是否显示的说明。
D.接口的继承和类的继承的不同是,一个接口可以有多个父接口,而一个类只能有一个父类。
9.
以下程序段代码哪一项是错误的(C)。
A.packagetestpackage;
publicclassTest{//dosomething...}
B.importjava.io.*;
classPerson{//dosomething...}
publicclassTest{//dosomething...}
C.importjava.io.*;
packagetestpackage;
D.importjava.io.*;
importjava.awt.*;
10.Java的事件处理机制中引入了委托事件模型,事件类一般都有一个监听者接口与之相对应,而事件类中的每个具体事件类型都有一个具体的抽象方法与之对应,但以下哪一个事件类没有监听者接口与之对应。
(C)。
A.ActionEventB.MouseEvent
C.InputEventD.ComponentEvent
二、程序改错题,以下每小题标明了几处错误,请改正(每个错误2分,共20分)。
1.(3处错误)
publicclassMyAppletextendsApplet
{
LabelMyLabel;
publicvoidinit(Stringargs[])
{
MyLabel=newLabel("
你好!
"
);
add(MyLabel);
}
}
publicvoidinit(Stringargs[])改为
1.publicvoidinit()
2.程序开头添加语句:
3.程序开头添加语句:
importjava.applet.*;
2.(3处错误)
publicclassUseVector
publicstaticvoidmain(Stringargs[])
Vectormyv;
for(inti=0;
i<
10;
i++)myv.addElement(i);
1.程序开头添加语句:
importjava.util.*;
2.把语句Vectormyv改为:
Vectormyv=newVector();
3.把语句myv.addElement(i)改为:
myv.addElement(newInteger(i));
3.(1处错误)
classAmIWrong
intdata1,data2;
AmIWrong(){data1=-1;
AmIWrong(ingd){data2=d;
this();
1.把语句data2=d;
改为this();
data2=d;
4.(2处错误)
interfaceMyInterface
voidmethod1();
classParentimplementsMyInetrface
classChildextendsParent
voidmethod1()
System.out.println("
Iamimplementednow!
1.把语句classParentimplementsMyInetrface改为abstractclassParentimplementsMyInetrface
2.把语句voidmethod1()改为:
publicvoidmethod1()
5.(1处错误)
publicclassMyMain
System.out.println(MyClass.data);
publicclassMyClass
intdata=10;
1.把语句intdata=10;
改为staticintdata=10;
三、书写一条或多条语句完成下面的功能(每小题3分,共30分)。
1.
定义一个10行45列的多行文本域对象text。
文本区TextAreatext=newTextArea(10,45);
2.
书写一个JavaApplet程序MyApplet的主类类头,该类要实现ItemListener接口。
publicclassMyAppletextendsAppletimplementsItemListener
3.
书写相应鼠标双击的动作事件和相应鼠标单击的选择事件所对应的两个方法的方法头。
publicvoidactionPerformed(ActionEvente)
单击publicvoiditemStateChanged(ItemEvente)
4.
将一个Label对象prompt显示的文本设置为“I’mhere”。
Prompt.setText(“I’mhere”);
5.
创建一个FlowLayout使应用该布局管理器的各个组件都向中央对齐地排列,并在容器中使用这个布局管理器。
setLayout(newFlowLayout(FlowLayout.CENTER))
6.
创建一个显示“工具”的菜单对象mm,并在mm中加入一条分割线。
Menumm=newMenu(“工具”);
mm.addSeparator();
7.
创建一个Dialog对象d,它的父窗框是当前的Frame对象,标题是“我的对话框”,它是一个无模式的对话框。
Dialogd=newDialog(this,“我的对话框”,false);
8.设sb是一个滚动条对象,把它注册给AdjustmentEvent类所代表的滚动条调整事件对应的监听者接口。
sb.addAdjustmentListener(this);
9.
书写一个空的静态初始化器。
static{}
10.
创建类Class1的一个对象object1,定义这个类的一个引用ref1,把对象object1赋给引用ref1。
Class1object1=newClass1();
Class1ref1=object1;
四、写出下列程序运行后的结果(每小题5分,共15分)。
1.源程序如下:
classShape{
publicinty;
publicShape(){
y=20;
System.out.println("
thisisaconstractorofshape"
publicvoidmeasure(){
super_y="
+y);
classRectangleextendsShape{
super.measure();
y=super.y+y;
Shape.y="
+super.y);
Rectangle.y="
classOverLay{
publicstaticvoidmain(Stringargs[]){
intwidth=30,height=10;
Rectanglett=newRectangle();
tt.y=height;
tt.measure();
结果thisisaconstractorofshape
Super_y=20
shape.y=20
Rectangle.y=30
2.源程序如下:
publicclassUseStringBuffer{
StringBuffersb1=newStringBuffer();
StringBuffersb2=newStringBuffer(15);
StringBuffersb3=newStringBuffer("
Hello,MyFriends!
charcArray[]=newchar[20];
sb1.append("
areyouempty?
why?
sb1.getChars(4,sb1.length()-4,cArray,0);
System.out.println(cArray);
for(inti=0,j=0;
cArray.length;
i++)
if(cArray[i]>
‘m’)sb2.insert(j++,cArray[i]);
sb3.setCharAt(0,‘h’);
sb3.setCharAt(6,‘m’);
System.out.println(sb1);
System.out.println(sb2);
System.out.println(sb3);
结果Youempty?
why?
youpty
3.源程序如下:
importjava.awt.event.*;
publicclassBorderextendsFrameimplementsActionListener{
privateButtonb[];
privateStringnames[]={"
HideNorth"
"
HideSouth"
HideEast"
HideWest"
HideCenter"
};
privateBorderLayoutlayout;
publicBorder(){
super("
BorderLayout"
layout=newBorderLayout(5,5);
水平垂直间距
setLayout(layout);
b=newButton[names.length];
for(inti=0;
names.length;
i++){
b[i]=newButton(names[i]);
b[i].addActionListener(this);
add(b[0],BorderLayout.NORTH);
add(b[1],BorderLayout.SOUTH);
add(b[2],BorderLayout.EAST);
add(b[3],BorderLayout.WEST);
add(b[4],BorderLayout.CENTER);
setSize(300,200);
show();
publicvoidactionPerformed(ActionEvente){
b.length;
if(e.getSource()==b[i])
b[i].setVisible(false);
else
b[i].setVisible(true);
Borderapp=newBorder();
五、(本题15分)阅读程序后回答问题。
以下是一个JavaAppet程序,用于接受用户输入的若干字符串,并按照字典序排序输出,使用冒泡排序和选择排序两种方法。
publicclassch6_e6_22extendsAppletimplementsActionListener
finalStringSORT_METHOD_NAME[]={"
冒泡排序"
选择排序"
Labelprompt=newLabel("
请输入欲排序的字符串(最多10个):
TextFieldinput=newTextField(5);
ButtonsortBubbleBtn=newButton(SORT_METHOD_NAME[0]);
ButtonsortSelectBtn=newButton(SORT_METHOD_NAME[1]);
String[]OrigArray=newString[10];
//保存排序前顺序的数组
String[]DataArray=newString[10];
//保存待排序数据的数组
intDataInputed=0;
//已输入数据的统计
String[][]SortPro=newString[11][10];
//保存排序过程的二维数组
publicvoidinit()//初始化
i<
i++)
DataArray[i]="
"
;
OrigArray[i]="
SortPro[10][i]="
for(intj=0;
j<
j++)
(A)
add(prompt);
add(input);
add(sortBubbleBtn);
//将提示,输入区域,按钮加入Applet
add(sortSelectBtn);
input.setText("
input.addActionListener(this);
(B)
sortSelectBtn.addActionListener(this);
publicvoidpaint(Graphicsg)//打印排序全过程
SortPro.length;
i++)//二维数组的行数
j<
SortPro[i].length;
j++)//二维数组第i行中的数据个数
g.drawString(SortPro[i][j],10+80*j,40+20*i);
publicvoidactionPerformed(ActionEvente)
if(e.getSource()==input)//用户在input中输入并回车时
{//记录数据
DataArray[DataInputed]=input.getText();
OrigArray[DataInputed]=DataArray[DataInputed];
DataInputed++;
if(DataInputed<
10)
prompt.setText("
已输入"
+DataInputed+"
个字符串,请继续"
//准备输入下一个数据
else//已输入10个数据
已输入10个字符串,不能再输入了"
input.setVisible(false);
//隐藏其输入区域
if(e.getSource()==sortBubbleBtn)//用户单击按钮,启动排序过程
DataArray.length;
i++)//记录未排序的原始数据
SortPro[0][i]=DataArray[i];
BubbleSortProcedure();
//调用冒泡排序方法
repaint();
DataArray[i]=OrigArray[i];
//恢复排序前的乱序
}
if(e.getSource()==sortSelectBtn)
SelectSortProcedure();
//调用选择排序方法
voidBubbleSortProcedure()//冒泡排序方法
intpass,i,exchangeCnt;
Stringtemp="
for(pass=0;
pass<
pass++)//扫描多次
exchangeCnt=0;
//记录本轮两两交换的次数
for(i=0;
DataArray.length-pass-1;
i++)//一次扫描过程
{//每次扫描比较范围缩小一个
if(DataArray[i].compareToIgnoreCase(DataArray[i+1])>
0)
//一次两两比较交换过程
temp=DataArray[i];
DataArray[i]=DataArray[i+1];
DataArray[i+1]=temp;
(C)
(D)//记录本轮扫描后数据排列情况
if(exchangeCnt==0)return;
//若一次也未交换,则说明已完全排好序,不必再循环
voidSelectSortProcedure()//选择排序方法
intpass,i,k;
DataArray.length-1;
pass++)//选择多次,有序子列在增长
for(i=pass,k=i;
i++)//一次选择过程,无序子列减少
if(DataArray[i].compareToIgnoreCase(DataArray[k])<
//选择剩余未排序数据中的最小者
k=i;
temp=DataArray[pass];
//排在剩余数据的最前面
DataArray[pass]=DataArray[k];
DataArray[k]=temp;
SortPro[pass+1][i]=DataArray[i];
//记录本轮选择后数据排列情况
1.补全程序中的空白(每处2分,共8分)。
A.()
B.(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 试题