Java期末考试试卷答案A.doc
《Java期末考试试卷答案A.doc》由会员分享,可在线阅读,更多相关《Java期末考试试卷答案A.doc(4页珍藏版)》请在冰点文库上搜索。
![Java期末考试试卷答案A.doc](https://file1.bingdoc.com/fileroot1/2023-4/30/70121773-5f8f-4be0-8331-9612925c8d54/70121773-5f8f-4be0-8331-9612925c8d541.gif)
JAVA程序设计试卷库(第4套)
一、单选题(每小题2分,共20分)
1、编译并运行下面的Java代码段:
、B
charc='a';
switch(c){
case'a':
System.out.println("a");
default:
System.out.println("default");
}
输出结果是()
A、代码无法编译,因为switch语句没有一个合法的表达式
B、a
default
C、a
D、default
2、在Java中,调用Math.random()方法可能返回的结果是(B)。
()
A、132.34B、0.342C、29.34E10D、1.0009
3、假设有以下Java代码:
C
importjava.applet.*;
importjava.awt.*;
publicclassMy_AppletextendsApplet{…}
如果要在HTML页中嵌入以上Applet,可按下面()方式完成。
A、。
B、。
C、。
D、。
4、设有下面的两个类定义:
A
classAA{
voidShow(){System.out.println(“我喜欢Java!
”);
}
classBBextendsAA{
voidShow(){System.out.println(“我喜欢C++!
”);
}
则顺序执行如下语句后输出结果为:
()
AAa=newAA();BBb=newBB();a.Show();b.Show();
A、我喜欢Java!
B、我喜欢C++!
我喜欢C++!
我喜欢Java!
C、我喜欢Java!
D、我喜欢C++!
我喜欢Java!
我喜欢C++!
5、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序特性称为(C)。
A、隐藏B、覆盖C、重载D、Java不支持此特性
6、在Java中,下列(D)是抽象窗口工具包提供的内容。
①用于创建用户界面的GUI组件
②用于事件处理的模型
③排列图形组件的布局管理器
A、①B、①③C、①②D、①②③
7、在Java事件处理模型中,当按下鼠标按钮时,处理(C)事件。
A、mouseReleased;
B、mouseExited;
C、mousePressed;
D、mouseDown;
8、在Java中,关于CLASSPATH环境变量的说法不正确的是(A)。
A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中
B、编译器用它来搜索各自的类文件
C、CLASSPATH是一个目录列表
D、解释器用它来搜索各自的类文件
9、下面哪条语句将会引起一个编译错误(A)。
A、floatF=4096.0;
B、doubleD=4096.0;
C、intI=4096;
D、charC=4096);
10、下面哪一个方法是在新线程被创建时,由系统自动调用执行的?
(B)。
A、publicvoidstart();
B、publicvoidrun();
C、publicstaticvoidmain(Stringargs[]);
D、publicvoidrunnable();
二、填空题(每空格1分,共15分)
1、据程序的构成和运行环境的不同,Java源程序分为两大类:
JavaaApplication程序和JavaApplet程序。
2、一个复杂的应用系统必然包括有多个对象,这些对象之间存在不同的关系。
彩色电视机与电视机之间是 继承关系,生产厂商与电视机之间是关联关系。
3、依次执行下面的程序代码,执行完后,x=3、y=5。
intx=3,y=5;
booleanb=x>y&&x++==y--;
4、创建类Class1的一个对象Object1的语句为Class1Object1=newClass1();,定义这个类的一个引用Ref1,把对象Object1的引用赋给Ref1,语句为Class1Ref1=Object1;。
5、接口中定义的内容是:
常量与抽象的方法 。
6、顺序执行以下两个语句的输出结果是:
6。
Strings=“我喜欢学习Java!
”;
System.out.println(s.length());
7、一段程序本来只实现一个静态的图形界面,现在要在其中加入事件处理功能以便实现与用户的交互,程序里至少要多做的三件事情是:
声明监听者 、注册监听者、实现事件处理方法 。
8、创建一个标识为“我的线程”的Thread类的对象mt,其语句为:
Threadmt=newThread(“我的线程”) 。
9、创建一个File对象,对应用户在FileDialog对象fd产生的文件对话框选定的文件,语句为:
Filemylife=newFile(fd.getDirectory(),fd.getFile()); 。
三、判断改错题(每题2分,共20分)(正确的打√,错误的打×并说明原因)
1、使用BorderLayout的容器最多只能放置5个组件,如果要放置更多的组件,则需要使用多层容器(√)
2、在Applet中显示一幅图像时,使用的getImage()方法与drawImage()方法都是Image对象的方法。
(×,getImage()方法是Applet的方法,返回Image对象;drawImage()方法是Graphics的方法,使用Image对象为方法的参数。
)
3、设一个窗框中包含一个按钮,当用户点击该按钮时会弹出一个无模式对话框,则当窗框关闭时该对话框也随之关闭。
( √)
4、创建Socket对象时,如果程序找不到指定的服务器,将引发UnknownHostExcption类的异常。
(√ )
5、一个暂时终止运行的线程(例如,睡眠或阻塞)在排除了终止原因后直接运行( ×,先回到就绪状态排队。
)
6、创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。
(×,超越后,系统将以Vector的扩展值为单位扩展这个对象。
)
7、假设在一段程序的所有catch块之后还有一个终结器finally块,此时程序一旦进入catch块后就不会再进入finally块,只有不产生异常时才跳过catch块进入finally块中运行。
(×,无论是否产生异常,在离开方法之前都会执行finally块中的内容。
)
8、接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
(√ )
9、抽象类中的抽象方法必须在该类的子类中具体实现(×,如果该子类也是抽象类,则可以不实现抽象方法。
)
10、一个JavaApplication程序中可以有一个或多个类,但有且只能有一个包含main方法的主类。
(√ )
四、简答题(每小题10分,共30分)
1、写出下列程序完成的功能。
publicclassABC{
publicstaticvoidmain(Stringargs[]){
inti,j;
inta[]={12,67,8,98,23,56,124,55,99,100};
for(i=0;i intk=i;
for(j=i;j if(a[j] inttemp=a[i];
a[i]=a[k];
a[k]=temp;
}
for(i=0;i System.out.print(a[i]+"");
System.out.println();
}
}
使用选择法对数组A进行升序排序,然后将数组A进行输出
2、写出下面程序的运行结果。
答:
parent
child
child
importjava.io.*;
classParent{
voidprintMe()
{
System.out.println("parent");
}
}
classChildextendsParent{
voidprintMe()
{
System.out.println("child");
}
voidprintAll()
{
super.printMe();
this.printMe();
printMe();
}
}
publicclassClass1{
publicstaticvoidmain(Stringargs[])
{
ChildmyC=newChild();
myC.printAll();
}
}
3、说明下面程序是否有误,如有误,请将错误的地方指出来,并改正。
答:
包引入部分应加一条语句:
importjava.awt.event.*;
语句publicclassAmDemoextendsApplet 后加implementsActionListener。
importjava.awt.*;
importjava.applet.*;
publicclassAmDemoextendsApplet{
Buttonbtn;
Publicvoidinit()
{
btn=newButton(“PushMe”);
add(btn);
btn.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente)
{
(Button)e.getSource().setLabel(“pushed!
”);
}
}
五、用Java语言编写下列程序。
(共15分)
编写图形界面下的JavaApplet程序,接受用户输入的两个数据为上、下限,然后10个一行输出上、下限之间的所有素数。
要求:
1、根据题目给出编程的思路(5分)
2、书写程序代码(10分)
答:
参考程序如下:
//输入上限与下限,输出范围内的素数
importjava.applet.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassSushu extends Applet implements ActionListener
{
Label lb1,lb2,result;
TextField in1,in2;
TextAreaout1;
Button btn1,btn2;
inta=0,b=0;
Strings="";
publicvoidinit()
{
result=newLabel("输出框");
lb1=newLabel("上限");
lb2=newLabel("下限");
in1=newTextField(5);
in2=newTextField(5);
out1=newTextArea();
out1.setEditable(false);//设为不可编辑
btn1=newButton("输出素数");
btn2=newButton("关闭");
add(lb1);
add(in1);
add(lb2);
add(in2);
add(btn1);
add(btn2);
add(result);
add(out1);
btn1.addActionListener(this);
btn2.addActionListener(this);
}
publicvoidactionPerformed(ActionEvent e)
{
intk=0;//设计数器
if (e.getSource()==btn1)//响应按钮"输出素数"的动作
{
out1.setText("\n");//新行输出
a=Integer.parseInt(in1.getText());
b=Integer.parseInt(in2.getText());
//判断是否素数,是则计数并加入输出子串s
Loop:
for(inti=b;i {
for(intj=2;j
{
if(i%j==0)
continue Loop;
}
k++;
if(k%10==0) //每10个数加个回车
s=s+i+","+"\n";
else
s=s+i+",";
}
result.setText(b+"与"+a+"之间共有素数"+k+"个,输出如下:
");
out1.setText(s);
}
elseSystem.exit(0);//点击"关闭"退出程序
}
}
JAVA程序设计第4页共4页