浙江工业大学Java程序设计期终考卷级计算机Word文档格式.docx

上传人:b****7 文档编号:22546570 上传时间:2023-02-04 格式:DOCX 页数:24 大小:45.64KB
下载 相关 举报
浙江工业大学Java程序设计期终考卷级计算机Word文档格式.docx_第1页
第1页 / 共24页
浙江工业大学Java程序设计期终考卷级计算机Word文档格式.docx_第2页
第2页 / 共24页
浙江工业大学Java程序设计期终考卷级计算机Word文档格式.docx_第3页
第3页 / 共24页
浙江工业大学Java程序设计期终考卷级计算机Word文档格式.docx_第4页
第4页 / 共24页
浙江工业大学Java程序设计期终考卷级计算机Word文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

浙江工业大学Java程序设计期终考卷级计算机Word文档格式.docx

《浙江工业大学Java程序设计期终考卷级计算机Word文档格式.docx》由会员分享,可在线阅读,更多相关《浙江工业大学Java程序设计期终考卷级计算机Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

浙江工业大学Java程序设计期终考卷级计算机Word文档格式.docx

注:

答案请写在答题纸上,否则一律不给分。

一、选择题(共15小题,每题2分,共30分)

1、以下的变量定义语句中,合法的是()

A)doublea=1.0;

B)charc=a+'

1'

;

C)double$a*5=2.0D;

D)Stringname#2="

jack"

2、以下程序片段,下列哪个选项插入到第1行引起编译错误的是()

1)packagemypackage;

2)

3)classMyClass

4){

5)//dosth

6)}

A)publicclassMainClass{}

B)packagemypackage1;

C)classB{}

 

3、以下程序代码,无法通过编译的是()

A)

classA{

inti=0;

}

B)

classA{inti=0;

}

classB

{

C)

classA

publicinti=0;

publicstaticvoidmethod(){

D)

}

4、以下代码段执行后的输出结果为()

intx=2,y=3;

--:

++y);

A)1B)2C)3D)4

5、给定如下Java程序片断:

publicA(){

O"

);

classBextendsA{

publicB(){

int("

K"

publicstaticvoidmain(String[]args){

Bb=newB();

上述程序将( 

A)不能通过编译

B)通过编译,执行后输出为:

O

C)通过编译,执行后输出为:

K

D)通过编译,执行后输出为:

OK

6、已知MyInterface是一个接口,ClassA是实现了MyInterface的一个类,ClassB是ClassA的子类,则下列哪个语句是正确的?

()

A)ClassBobj=newClassA();

B)MyInterfaceobj=newClassB();

C)ClassAobj=newMyInterface();

D)MyInterfaceobj=newMyInterface();

7、下列变量哪个是引用类型的()。

A)booleans=false;

B)Strings=null;

C)ints=513;

D)floats=3.14f;

8、为了使用JDK的javac.exe编译Java应用程序,应该设置以下哪个环境变量?

()

A)java_homeB)classpathC)pathD)runtime

9、下面的程序编译后用以下命令运行:

javaExceptionDemohello,运行的情况是()

1)publicclassExceptionDemo{

2)publicstaticvoidmain(Stringargs[]){

3)for(inti=0;

i<

2;

i++){

4)args[i]);

5)}

7)}

A)发生异常,异常类型是ArithmeticException

B)发生异常,异常类型是IOException

C)发生异常,异常类型是ArrayIndexOutOfBoundsException

D)程序正常输出信息hello

10、下列说法中,正确的是()

A)一个Java源程序中的每个类都可以包含一个main方法。

B)一个Java源程序中,不能既定义接口,又定义类。

C)一个Java源程序中必须有一个类定义了main方法。

D)一个Java源程序中必须定义接口。

11、关于Java输入输出流,下列说法正确的是()

A)FileReader类和FileInputStream类都是按照字节读取的

B)FileReader类和FileInputStream类都是按照字符读取的

C)FileReader类是按字节读取的,FileInputStream类是按字符读取的

D)FileReader类是按字符读取的,FileInputStream类是按字节读取的

12、有一个类A,以下为其构造方法的声明,其中错误的是()。

A)publicvoidA(intx){...}

B)publicA(intx){...}

C)protectedA(floatx){...}

D)privateA(){...}

13、对于异常处理语句try…catch…finally,下面哪个说法是正确的?

()

A)如果有多个catch语句,对所有的catch都会执行一次

B)如果有多个catch语句,对每个符合条件的catch都会执行一次

C)多个catch的情况下,异常类的排列顺序应该是父类在前,子类在后

D)任何情况下,finally部分都会被执行一次

14、下面说法错误的是()。

A)单击CheckBox(复选框)产生ItemEvent事件,并由ItemListener处理。

B)处理Button和TextField事件监听器接口都是ActionListener。

C)一个面板(Panel)可以加入到另一个面板(Panel)中。

D)采用BorderLayout布局时,添加到NORTH区的两个按钮将并排显示。

15、关于线程,以下说法正确的是()

A)线程可以使用wait()方法,让其他线程等待,以便自己执行。

B)不管有无活动的用户线程,后台线程都会一直执行。

C)如果一个应用程序的用户线程都结束了,则后台线程自动结束。

D)线程可以使用notify()方法,让其他线程等待,以便自己执行。

二、判断题(共10小题,每题1分,共10分)

1、abstract是抽象修饰符,可以用来修饰类、属性和方法。

(对)

2、用“+”可以实现字符串的拼接,用“-”可以从一个字符串中去除一个字符子串。

(错)

3、父类的静态方法不能被子类覆盖为非静态的方法,反之亦然。

(对)

4.子类的构造方法一定会调用父类的构造方法。

5、接口和抽象类一样,虽然有构造方法,但却不能实例化对象。

(错)

6、线程t运行就是运行其run()方法,所以t.start()等价于t.run()。

(错)

7、Object类型的引用变量可以引用任何对象。

8、数据流就是从源到目的的字节的有序序列包括输入流和输出流。

(对)

9、java为每一个监听器接口都定义了对应的适配器类。

10、如果有高优先级的线程就绪,则正在执行的低优先级线程将暂停执行。

三、程序阅读题。

(共5小题,每题6分,共30分)

1、写出下列程序代码的运行结果。

intm=0,n=0;

longf()

{

returnm+n;

classBextendsA

intm=1,n=1;

longf()

{

longresult=0;

super.m=10;

super.n=30;

result=super.f()+(m+n);

returnresult;

longg()

longresult=0;

result=super.f();

returnresult/2;

classExample

{

publicstaticvoidmain(Stringargs[])

b.m=6;

b.n=2;

longresultOne=b.g();

longresultTwo=b.f();

longresultThree=b.g();

Sys

标准答案:

resultOne=0

resultTwo=48

resultThree=20

2、写出下列程序代码的运行结果:

classTest{

publicstaticStringss="

杭州电子科技大学"

publicStringms="

计算机学院"

publicvoidprintInfo()

s="

+ss+"

ms="

+ms);

publicstaticvoidmain(String[]args)

Testobj1,obj2;

obj1=newTest();

obj2=newTest();

obj1.ss="

浙江工业大学"

obj1.ms="

软件学院"

obj1.printInfo();

obj2.printInfo();

输出结果:

ss=浙江工业大学ms=软件学院

ss=浙江工业大学ms=计算机学院

3、仔细阅读下面的程序代码,写出运行后的输出结果。

classTestVector

Vector<

String>

vs=newVector<

(16,8);

vs.add("

1"

2"

vs.add(1,"

3"

if(vs.contains("

))

vs.remove("

3

"

isanelementofvs

2

4、仔细阅读下面的程序代码,若经编译和运行后,请写出打印结果。

publicclassTest

privateinti;

publicclassInner

publicvoidincreaseSize(){i++;

Innerinner=newInner();

publicvoidincreaseSize()

inner.increaseSize();

publicstaticvoidmain(String[]a)

Testtest=newTest();

for(intj=0;

j<

3;

j++)

test.increaseSize();

}

i=1

i=2

i=3

5、阅读以下程序,回答问题。

packagepackage1;

classClassA

ClassA."

packagepackage2;

importpackage1.ClassA;

publicclassClassB

newClassA().printInfo();

问题1:

上面两个类是在同一个源程序文件中吗?

问题2:

第一个类的定义有一个错误。

请改正。

参考答案:

1、不是

2、将classClassA改成publicclassClassA

四、程序填空题(共2小题,每小题5分,共10分)

1、下面是一个多线程程序。

请根据提示,将划线上

(1)~(5)的语句补充完整。

classTestMultiThreads

Threadt1=newThread(newT1());

//实例化线程,

t1.setName("

线程1"

//将线程t1改名为“线程1”

t1.start();

//启动线程t1

classT1implementsRunnable//定义T1为线程体(包含线程的数据和代码)

publicvoidrun()

while(true)

{

i++);

try

{

Thread.sleep((int)(Math.random()*5000));

//随机休眠0-5秒

}catch(InterruptedExceptione){}

2、下面的程序可以编辑文本文件,单击保存按钮可以保存文件。

如果是新的没有保存过的文件,单击保存按钮时会弹出一个保存文件对话框。

程序运行时界面如下图,请将划线的(6)~(10)的语句补充完整。

publicclassMyEditorextendsJFrameimplementsActionListener

JButtonjbSave;

JTextAreajtaText;

JScrollPanejsp;

booleanisNewFile;

FileeditFile;

publicMyEditor()

super("

MyEditor"

isNewFile=true;

jbSave=newJButton("

保存"

jbSave.addActionListener(this);

add(jbSave,BorderLayout.NORTH);

jtaText=newJTextArea(10,80);

jtaText.setLineWrap(true);

jsp=newJScrollPane(jtaText);

add(jsp);

pack();

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

publicvoidactionPerformed(ActionEvente)

if(e.getSource()==jbSave)

if(isNewFile)

JFileChooserchooser=newJFileChooser();

intreturnVal=chooser.showSaveDialog(this);

if(returnVal==JFileChooser.APPROVE_OPTION)

editFile=chooser.getSelectedFile();

StringfileName=editFile.getName();

}

BufferedWriterbfw=newBufferedWriter(newFileWriter(editFile));

bfw.write(jtaText.getText(),0,jtaText.getText().length());

bfw.flush();

bfw.close();

setTitle("

MyEditor---"

+editFile.toString());

isNewFile=false;

catch(Exceptione1)

publicstaticvoidmain(String[]args)

newMyEditor();

五、编程题(共2小题,每小题10分,共20分)

1、请编程实现以下要求:

(1)定义一个接口DataStructure,包括以下方法:

BooleanisFull()

BooleanisEmpty()

VoidaddElement(Objectobj),

ObjectremoveElement()

(2)设计一个堆栈类(MyStack)实现DataStructure接口。

堆栈的大小由其构造方法指定。

要求实现的方法体现出堆栈的先进后出特性。

(3)设计一个队列类(MyQueue)实现DataStructure接口。

队列的大小由其构造方法指定。

要求实现的方法体现出队列的先进先出特性。

(4)设计一个测试类,在其主方法中用DataStructure类型的引用变量分别引用两个大小为10的MyStack对象和MyQueue对象,使用addElement()方法增加“0”,“1”,⋯“9”共10个字符串对象,再用removeElement()方法取出这些元素并打印出来。

interfaceDataStructure

booleanisEmpty();

booleanisFull();

voidaddElement(Objectobj);

ObjectremoveElement();

classMyStackimplementsDataStructure

privateintidx=0,size;

privateObject[]data;

publicMyStack(intsize)

data=newObject[size];

this.size=size;

publicbooleanisEmpty()

if(idx==0)

returntrue;

else

returnfalse;

publicbooleanisFull()

if(idx==size)

publicvoidaddElement(Objectobj)

data[idx++]=obj;

publicObjectremoveElement()

returndata[--idx];

classMyQueueimplementsDataStructure

publicMyQueue(intsize)

if(idx==0)

if(idx==size)

Objectobj=data[0];

for(inti=0;

idx-1;

i++)

data[i]=data[i+1];

idx--;

returnobj;

publicclassTestDataStructure

DataStructureds=newMyStack(10);

10;

ds.addElement("

+i);

while(!

ds.isEmpty())

ds=newMyQueue(10);

2、编写一个程序,将指定的多个文本文件合并到一个文件。

要求类的名称为MergeTxt。

在命令行状态下,该程序的运行形式是:

javaMergeTxt目标文件名合并文件1合并文件2...合并文件n

要求程序能够判断文件的类型是否正确,如果类型不正确或者给定的文件不存在时要给出错误信息。

publicclassMergeTxt

if(args.length<

3)

return;

for(Strings:

args)

if(!

s.endsWith("

.txt"

return;

try

Filedf=newFile(args[0]);

if(df.exists())

for(inti=1;

args.length;

if(!

(newFile(args[i]).exists()))

{

}

BufferedWr

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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