Java题库及答案全文_第1页
Java题库及答案全文_第2页
Java题库及答案全文_第3页
Java题库及答案全文_第4页
Java题库及答案全文_第5页
已阅读5页,还剩249页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java程序设计试题及答案(一)

时间:2012-02-20S

]ava程序设计试题及答案(一)

一、判断题。判断下列各题是否正确,若正确,在0内打“M”,否

则打“x”。

1、Java语言具有较好的安全性和可移植性及与平台无关等特性。M

2、Java语言的源程序不是编译型的,而是编译解释型的。M

3、Java语言使用的是Unicode字符集,每个字符在内存中占8位。X

4、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改

变。M

6、一个类可以实现多个接口,接口可以实现“多重继承”。M

7、实现接口的类不能是抽象类。X

二、不定项选择题。

1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字

节码文件的扩展名为(B)。

A、javaB、classC、htmlD、exe

2、main方法是JavaApplication程序执行的入口点,关于main方法的

方法首部,以下(B)项是合法的。

A、publicstaticvoidmain。

B、publicstaticvoidmain(Stringargs])

C、publicstaticintmain(String[]arg)

D、publicvoidmain(Stringarg。)

3、关于下面代码的说法(C)是正确的?

publicclassExample(

publicstaticvoidmain(String。args){

intflarr=newint[10];

System.out.println(arr[l]);

)

}

A、编译时产生错误B、编译时正确,运行时将产生错误C、输出零D、

输出空(null)

4、不正确的表达式是(AB)o

A、floata=1.0d;B、Doublea=newDouble(l.O)

C、bytea=(byte)340;D、Bytea=120;

5、定义一个类名为"MyClassjava"的类,并且该类可被一个工程中的所有

类访问,那么该类的正确声明应为(CD)o

A、privateclassMyClassextendsObjectB、classMyClassextendsObject

C、publicclassMyClassD、publicclassMyClassextendsObject

6、下列构造方法的调用方式中,正确的是(C)。

A、按照一般方法调用B、由用户直接调用

C、只能通过new自动调用D、被系统调用

7、private级的成员可以被哪些对象访问?C

A、同一包中的其他类B、仅同一类的私有成员方法

C、仅同一类的所有成员方法D、所有其他类

8、关于Object类,以下正确的是(ADE)。

A、Object类中定义了一些重要的方法,以方便Java类的使用

B、Object类是一个非常特殊的“虚拟”类,就是说只能从Object类派

生出其它类,但不能创建一个Object类的对象,也不能将一个引用变量

定义为Object类型

C、如果一个类已经有了父类,那么这个类同时继承了Object类,也就

是说这时候这个类实际上有两个父类

D、Object类是所在其他Java类的直接或间接父类

E、Java中的类是单继承的,因此所在的类以Object类为根,形成了棵

继承树

9、抽象类与普通类的区别是什么?C

A、抽象类没有成员变量,只有成员函数

B、抽象类只有成员变量,没有成员函数

C、抽象类中有抽象函数,而普通类的每个函数都是有具体实现的

D、抽象类与普通类没有区别

10、使用接口的通常办法是(D)。

A、将接口数当作静态数据来调用B、直接调用接口的方法

C、将接口变量作为方法的参数来使用

D、定义一个接口变量,该变量指向实现接口的对象来访问

E、定义一个接口对象,通过对象访问

11、执行下列代码后,哪个结论是正确的StringQs=newString[10];BD

A、s[10]为""B、s[9]为null;C、s[0]为未定义D、s.length为

10

12、以下对substring函数的描述中,错误的是()。BC

A、String和StringBuffer类都可以使用substring函数

B、substring函数返回一个StringBuffer对象

C、substring函数获得从指定位置开始,到指定位置为止的字符串

D.substring函数用于获得字符串的一个子串

13、如果catch块中包括多个异常类,这些异常类的匹配原则是什么?C

A、接try块中程序执行的顺序,寻找最通用的异常类

B、接try块中程序执行的顺序,寻找能够最精确匹配的类

C、接catch块中异常类的排列顺序,寻找第一个能够匹配的异常对象

D、在catch块中寻找能够最精确匹配的类

14、以下异常中,不属于RuntimeException的是(D)。

A、IndexoutofBoundsException数组以下越界异常

B、NullPointerExcePtion使用未初始化的引用变量

C、ArithmeticException算术异常

D、IllegalAccessException没有足够的权限访问其他类的成员

15、运行下列程序,会产生什么结果。AD

publicclassMyThreadextendsThreadimplementsRunnable{

publicvoidrun(){

System.out.println("thisisrun。");

publicstaticvoidmain(String[]args){

Threadt=newThread(newMyThreadQ);

t.startQ;

}

}

A、第一行会产生编译错误B、第六行会产生编译错误

C、第六行会产生运行错误D、程序会运行和启动

三、简答题。

1、子类重新定义与父类方法的方法头完全相同的方法,这种情况称为

什么?此时子类对象还能执行父类中原来的方法吗?

答:这种情况称为方法的覆盖,此时,在子类中已不能找到父类原来的

方法,它的内存位置已经被替代。

2、final修饰符可以用来修饰什么?被final修饰符修饰后有何特点?

答:final修饰符可用来修饰类、属性、方法和终结器。

被final修饰符修饰的类没有子类。被final修饰符修饰的属性在程序

整个执行过程中都不能改变。被final修饰符修饰的方法是功能和内部语

句不能更改的最终方法。被final修饰符修饰的终结器(以称析构器

—finalize。方法,是在对象被删除前进行收尾工作的方法)也是不能

更改的。

3、试写出一个语句创建一个名为myPackage的包,这个语句应该放在

程序的什么位置?

packageMyPackage;

应该在程序第一句。

四、编程题。

1、打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,

其各位数字的立方和等于该数本身。例如:153是一个“水仙花数”,

333

因为153=1+5+3O

#include<stdio.h>

intmainQ

{

//所谓水仙花数是指一个三位数,其各位数字立方和等于该数

inti;

inta=O,b=O,c=O;//a表示百位上的数,b表示十位上的数,c表示个位上

的数,

printff'打印三位数的所有水仙花数\n");

for(i=100;i<1000;i++)

(

a=i/100;

b=i/10;

c=i;

if(i==a*a*a+b*b*b+c*c*c)

printf(n%d\nn,i);

return0;

2、编程创建一个Cube类,在其中定义三个变量表示一个立方体的长、

宽和高,定义一个构造方法对这三个变量进行初始化,然后定义一个方

法求立方体的体积。创建一个对象,求给定尺寸的立方体的体积。

publicclassBox

doublelength;//长

doublewidth;//宽

doubleheight;//高

publicBoxQ

{//构造函数

length=0;

width=0;

height=0;

publicvoidsetLength(doublelength)

{〃设置长

this.length=length;

}

publicdoublegetLengthQ

{〃得到长

returnlength;

}

publicvoidsetWidth(doublewidth)

{〃设置宽

this.width=width;

}

publicdoublegetWidthQ

{〃得到宽

returnwidth;

Java程序设计试题及答案(二)

时间:2012-02-20加

忑忑程序设计试题及答案(二)

一、判断题。判断下列各题是否正确,若正确,在。内打“,”,否

则打“X”。

1、JavaApplication程序中,必有一个主方法main。,该方法有没有参数

都可以。X

2、Java程序中不区分大小写字母。X

3、已知bytei=(byte)127;i=i+1;这两个语句能被成功编译。3

4、调用this或super构造方法的语句必须放在第一条语句。M

5、创建对象时系统将调用适当的构造方法给对象初始化。M

6、对象可作方法参数,对象数组不能作方法参数。X

二、不定项选择题。

l、Java程序的编程与运行分几个阶段,下面的阶段描述中正确的是(B

E)o

A、Java编译器将源文件编译为二进制的目标码文件

B、连接软件将目标码文件连接为最终的执行文件

C、Java虚拟机运行连接后的可执行文件,将它们翻译为硬件能够理解

的机器语言

D、目标码无需连接,可以直接由Java虚拟机执行

E、Java虚拟机解释目标文件,并把它们翻译为硬件能够理解的机器语

2、执行一个Java程序"FirstApp”的方法是(B)

A、直接双击编译好的Java目标码文件执行B、运行“javac

FirstApp.class”

C、运行“javaFirstAppjava"D、运行"javaFirstApp”

3、按照Java的标识符命名规范,下列表示一个类的标识符正确的是

(B)o

A、HelloworldB、HelioWorldC、helloworldD、helloWorld

4、下列叙述中,正确的是(A)。

A、Java语言的标识符是区分大小写的

B、源文件名与public类名可以不相同

C、源文件扩展名为jar

D、源文件中public类的数目不限

5、指出下列哪个方法不是publicvoidadd(inta){}的重载方法。(A)

A、publicintadd(inta)B、publicvoidadd(longa)

C、publicvoidadd(inta,intb)D、publicvoidadd(floata)

6、关于缺省级和公开级的类在访问上的差别,描述正确的是(BD)。

A、对于其它包的类,只要用“import”关键字导入,就可以访问到缺

省级的类

B、“import”关键字只能导入公开级的类

C、在公开级,不但同一个包里的其它类可以访问这个类,而且其它包

里的类也可以访问它

D、缺省级下,只有同一个包内的其它类可以访问这个类,外界不能访

E、缺省级和公开级的类都能从包外访问到

7、子类如何调用父类带有参数的构造方法?B

A、子类也创建具有同样参数的方法参数,Java会自动调用父类构造方

B、子类构造方法的开头用“super”语句调用父类构造方法

C、无法调用

D、创建子类对象时,先调用父类的构造方法,再调用子类的构造方法

8、public的成员变量能够被以下哪些对象访问到?C

A、所有的对象,但子类只能直接访问,而不能继承父类对象的public组

成员

B、所有的对象,但其它包中的对象只能访问少数从句中导出的成员

C、所有的对象,子类可以直接访问,也可以继承父类对象的public组

成员

D、所有的对象

E、所有的对象,但子类不能访问其它包中的父类对象的public组成员

9、当父类的引用变量指向子类对象时,对于同名的方法调用哪个?A

A、调用子类的方法B、先调用父类的方法再调用子类的方法

C、调用父类的方法D、先调用子类的方法再调用父类的方法

10、关于多态性,以下描述中正确的是(D)0

A、多态性就是方法的覆盖B、多态性就是方法重载

C、多态性只存在于同名的成员变量之间

D、多态性是指按引用变量指向的对象,而不是引用变量本身的类型来

决定调用哪个方法

11、以下关于字符串函数的描述中,正确的是(C)o

A、delete函数用于删除整个字符串

B^replace函数的作用是替换一段子串

C、setCharAt函数的作用是将String或StringBuffer字符串的某个字符替

D、insert函数的作用是在字符串的某个位置插入一个字符

12、以下关于运行期异常的说法中,错误的是(AD)。

A、运行期异常不需要在函数定义的throws部分给出

B、在程序运行中,如发生运行期异常会被自动抛出函数

C、运行期异常必须用try、catch块捕获

D、RuntimeException是各种在正常运行情况下可以被Java虚拟机抛出

的异常的父类

13、以下关于捕获的原则中,错误的是(D)。

A、Exception类必须出现,而且必须作为catch块中第一个匹配的类

B、先列出具体的异常类,后列出通用的异常类

C、先列出子类,后列出父类

D、RuntimeException可以不被捕获,Java会自动处理运行期的异常

三、简答题(每题5分,共20分)。

1、阅读下面的程序并写出类MyClass3的所有成员,并写明它们定义自

哪里。

classMyClassi{

privateintproll;

doublepro12;

}

classMyChss2extendsMyClassl{

privatedoubleprol2;

intpro21;

}

classMyClass3extendsMyClass2{

privateintpro21;

doublepro31;

2、创建接口使用什么关键字?接口可以有父接口吗?试书写语句创建一个

名为Mylnterface的接口,它是继承了MySuperlnterfacel和

MySuperInterface2两个接口的子接口。

答:创建接口使用关键字Interface。接口可以有父接口。

InterfaceMylnterfaceextendsMySuperlnterface,MySuperInterface2

四、编程题(每题10分,共30分)。

1、编写一个方法,实现对数组元素由大到小排列。

#include<iostream>

#includcVcstdlib>//函数exit的函数头

usingnamespacestd;

intmainQ

{

voidsort(intx[]jntn);〃函数声明

intn;

cin»n;//数组长度由用户输入

int*a=newint回;//动态分配数组的长度

if(a二二NULL)

(

coutvv"Error,CannotAllocateMemory!H<<endl;

exit(l);

}

int*p,i;

p=a;

for(i=0;i<n;i++)

cin>>a[i];

p=a;

sort(p,n);〃调用函数

for(p=a,i=O;i<n;i++)

cout<<a[i];

cout<<endl;

}

delete[]a;//释放内存块

return0;

}

voidsort(intx[]jntn)

{

inti,j,k,t;

for(i=0;i<n」;i++)〃选择排序法,这里也可以选用其他排序法

(

k=i;

for(j=i+l;j<n;j++)

if(x[j]>x[k])

k=j;

if(k!=i)

{

t=x[i];

x[i]=x[k];

x[k]=t;

2、定义一个学生类(Student),属性包括:学号,班号,姓名,性别,

年龄,班级总人数;方法包括:获得学号,获得班号,获得姓名,获得

性别,获得年龄,获得班级总人数,修改学号,修改班号,修改姓名,

修改性别,修改年龄以及一个toStringO方法将Student类中的所有属性

组合成一个字符串。定义一个学生数组对象。设计程序进行测试。

classstudent{

privateStringxuehao;

privateStringbanhao;

privateStringxingming;

privateStringxingbie;

privateintnianling;

publicstudent(Stringx,Stringb,Stringm,Stringbl,mtn){

this.xuehao=x;

this.banhao=b;

this.xingming=m;

this.xingbie=bl;

this.nianling=n;

publicStringgetxuehaoQ{

returnxuehao;

}

publicStringgetbanhaoQ{

returnbanhao;

)

publicStringgetxingmingO(

returnxingming;

}

publicStringgetxingbieQ{

returnxingbie;

}

publicintgetnianlingQ{

returnnianling

}

publicStringtoStringQ{

returnxuehao+nn+banhao+Hn+xingming+nn+xingbie4-nn+nianling;

}

}

publicclassDome4{

publicstaticvoidmain(Stringargs[]){

studentsi=newstudent(”02122168”J121、安静“,“男”,24);

System.out.println(sl.toStringQ);

}

}

3、从键盘输入两个数,进行相加,显示和。当输入串中含有非数字时,

通过异常处理机制,使程序能正确运行。

datasegment

indatadw2dup(?)

outdatadw1dup(?)

notein1db'pleaseinputthefirstdecimalnumber(0-99):$!

notein2db'pleaseinputtheseconddecimalnumber(0-99):$T

noteoutdb'theresultofadditionis$

notewarndb'warningrwrongchar!$'

noteagaindb'pleaseinputagain:

dataends

showmacroaddr

movah,9h

leadx,addr

int21h

endm

codesegment

assumecs:code,ds:data,esrdata

mainprocfar

start:

pushds

subax,ax

pushax

movax,data

movds,ax

moves,ax

shownoteinl

callcrlf

calldeci_input

movindata,bx

callcrlf

shownotein2

callcrlf

calldeci_input

movindata+2,bx

callcrlf

movax,bx

addax,indata

movoutdata,ax

shownoteout

callcrlf

calldeci_output

ret

mainendp

deci_inputprocnear

movbx,0

newchar:movah,l

int21h

cmpal,0dh

jzexit

subal,30h

jlnoteerr

cmpal,9d

jgnoteerr

cbw

xchgax,bx

movcx,10d

mulex

xchgax,bx

addbx,ax

jmpnewchar

noteerr:callcrlf

shownotewarn

callcrlf

shownoteagain

jmpnewchar

exit:ret

deci_inputendp

deci_outputprocnear

movbx,outdata

movcl,100d

movax,bx

divcl

movbl,ah

movdl,al

adddl,30h

calldispchar

movax,0

moval,bl

cbw

movcl,10d

divcl

movbl,ah

movdl?al

adddl,30h

calldispchar

movdl,bl

adddl,30h

calldispchar

ret

deci_outputendp

crlfprocnear

movdl,Oah

calldispchar

movdl,Odh

calldispchar

ret

crlfendp

dispcharprocnear

movah,2h

int21h

ret

dispcharendp

codeends

endstart

Java程序设计试题及答案(三)

时间:2012-02-20㈤

为立而为项Java程序设计试题及答案(三)

一、判断题。判断下列各题是否正确,若正确,在0内打,否则打"X"。

1、当前路径的标识是。M

2、java命令不区分大小写,而javac命令区分大小写。X

3、说明或声明数组时不分配内存大小,创建数组时分配内存大小。,

4、强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。M

5、类是一种类型,也是对象的模板。M

6、Java语言会自动回收内存中的垃圾。M

7、BDExccption必须被捕获或抛出。M

二、不定项选择题。

1、以下关于编写、编译、运行Java程序的步骤中,错误的是(BE)o

A、用link将二进制目标码文件连接成可执行文件

B、用javac将java源文件编译成二进制目标码文件

C、用java命令运行编译过的java程序

D、用文本编辑器编写java源文件

E、用javac命令编译java源文件

2、下面关于JavaApplication程序结构特点描述中,错误的是(D)。

A、一个JavaApplication程序由一个或多个文件组成,每个文件中可以定义一个或多个类,

每个类由若干个方法和变量组成

B、Java程序中声明有public类时,则Java程序文件名必须与public类的类名相同,并区分

大小写,扩展名为Java

C、组成JavaApplication程序的多个类中,有且仅有一个主类

D、一个.java文件中定义多个类时,允许其中声明多个public类

3、以下关于中断控制语句的描述错误的是(D)。

A、break语句用于中断当前的程序块,如for结构块等的执行

B、continue停止继续执行下面的语句,直接跳回循环起始位置

C.return用于退出整个子程序

D、break用于强行退出循环,不执行循环中剩余的语句

E、在一个函数中不管有没有返回值,都需要return语句来退出函数

4、以下程序的执行结果是什么?(B)

int[]myArray=newint[3];

try{

for(inti=0;i<=myArray.length;i++){

myArrayli]=i*3;

System.<?utprindn(nmyArray数组的第"+i+”个元素的值是"+myArray[i]);

}catch(ArraylndcxOutOfBoundsExccptionc){

System.。〃卬rintln("数组下标越界");

A、程序出现异常,屏幕提示“数组下标越界”

B、程序执行,显示数组中每个元素的值,最后显示“数组下标越界”

C、程序正常执行结束,屏幕上显示数组中每个元素的值

D、程序编译出错

5、对象的有效期有多长?(B)

A、与引用变量的有效期相同,当引用变量的有效期结束时,对象也自动消失

B、从对象创建时开始,直到没有任何引用变量指向该对象时,对象失去作用,被自动回收

C、从对象创建时开始,直到编程人员用“delete”关键字删除对象为止

D、从对象创建时开始,直到程序结束

6、关于类的构造方法,以下正确的是(BC)。

A、同一个类可以有几个构造方法,各构造方法的参数必须不同

B、同一个类可以有几个构造方法,各构造方法的参数必须相同

C、当创建一个对象时,需要指明是否调用该对象的构造方法

D、构造方法的名称与类的名称相同

E、当创建一个对象时,该对象的构造方法会被自动调用

7、下列关于子类继承父类的成员描述中,错误的是(C)。

A、当子类中出现成员方法头与父类方法头相同的方法时,子类成员方法覆盖父类中的成员

方法

B、方法重载是编译时处理的,而方法覆盖是在运行时处理的

C、子类中继承父类中的所有成员都可以访问

D、子类中定义有与父类同名变量时,在子类继承父类的操作中,使用继承父类的变量;子

类执行自己的操作中,使用自己定义的变量

8、下列关于继承性的描述中,错误的是(C)。

A、一个类可以同时生成多个子类

B、子类继承了父类中除私有的成员以外的其他成员

C、Java支持单重继承和多重继承

D、Java通过接口可使子类使用多个父类的成员

9、关于实现接口中的方法,哪些叙述是正确的?(B)

A、类中应当实现接口中的所有方法,但方法参数可以有所不同

B、类中应包括所有接口中方法,并且方法名、返回值的类型、方法参数的个数、名称、类

型都必须与接口中的对应方法相一致

C、类只能实现接口所提供的方法,而不能定义其他的方法

D、类只能实现接口的方法,而不能使用接口中的常量

10、关于抽象类的说法中正确的有(CD)o

A、只有子类覆盖了父类的所有抽象方法之后,这个子类才不是抽象类

B、抽象类只有方法,没有属性C、抽象类的所有方法都是抽象方法

D、带有抽象方法的类为抽象类E、抽象类不能创建对象

11、Java内部如何利用"+"号把字符串String连接在一起?(B)

A、"+"相当于append函数,在StringBuffer对象的后面添加字符串

B、Java在用"号进行字符连接时,是新建一个StringBuffer对象,用它来连接所有字符

串,然后再转回String对象.

C、"+"号相当于append函数,在String对象的后面添加字符串

D、只有String对象才用"连接符,StringBuffer对象、整数、浮点数等都不能使用"+"

连接符

12、如果下列的方法能够正常运行,在控制台上将显示什么?(ACD)

publicvoidexample0{

try{

unsafcQ;

System.out.println(nTestl");

}catch(SafcExccptione){

System.out.println(uTest2");

}finally{

System.out.printlnf'Test3n);

}

System.outprintln("Test4**);

)

A、Test1B、Test2C、Test3D、Test4

三、简答题。

1、为什么说构造方法是一种特殊的方法?特殊在哪里?构造方法什么时候执行?被谁调用?

答:在java语言中,构造函数又称构造方法。特殊性在于,与普通方法的区别是,他与类名

相同,不返回结果也不加void返回值。构造函数的作用是初始化对象,即在创建对象时被

系统调用(与普通方法不同,程序不能显示调用构造函数)。构造函数还能够被重载,即可

以传入参数,当程序中包含有带参的构造函数时,系统将不会再提供的无参构造函数。

构造函数特点:没有函数返回值,构造函数名与类名相同;当创建类对象的时候调用其对应

的构造方法去创建

2、Java的异常处理块的形式是什么样?

答:用户程序使用throw关键字抛出异常。系统定义的异常由系统在合适的时刻自动抛出。

四、编程题。

1、给出一百分制成绩,要求输出成绩等级"A","B","C","D","E"。90分以上的为"A",80~89

分为"B",70〜79分为"C",60〜69为"D”,60分以下为"E"。

#includc<stdio.h>

intmain。

{ints;

printf("请输入一个成绩:");

scanf("%d",&s);

if(s>100||s<0)

{

printf("输入了一个错误的成绩。\nM);

return1;

)

charch;

switch(s/10)

case10:

case9:ch=*A';break;

case8:ch=*B*;break;

case7:ch=*C*;break;

case6:ch=*D';break;

default:

ch=*E*;break;

)

printf("您输入的成绩等级为:%c\n",ch);

return0;

2、定义一个类Rectangle代表矩形,为矩形定义getLength方法(获得矩形的长度)、getWidth

方法(获得矩形的宽度)、sctLength方法(设置矩形的长度)、sctWidth方法(设置矩形的宽

度)、getArea方法(求矩形的面积)和toString方法(显示矩形的格式),为矩形派生出一个

子类Square代表正方形,并对getArea和toString进行重写。并编写程序进行测试。

publicclassRectangle{

//top,left左上角那个顶点的坐标

//width:宽

//heigth:长

privatedoubletop,left,width,height;

//构造函数

publicReetangle(doubletop,doubleleft,doublewidth,doubleheight){

this.top=top;

this.lcft=left;

this.width=width;

this.height=height;

)

//改变宽,高,即改变矩形宽高

publicvoidsizc(doublcwidth,doubleheight){

this.width=width;

this.height=height;

}

//计算面积,宽X高

publicdoublearcaQ{

returnwidth*height;

)

〃求面积

publicdoublegctMianJi(intmx,intmy){

returnPoint.getDistance(pointA,pointB)*Point.getDistance(pointB,pointC);

}

3、卡车要装载一批货物,货物有三种商品:电视、计算机和洗衣机。需要计算出大货车承

载的3种货物的重量。要求有一个ComputeWeight接口,该接口中有一个抽象方法:

publicdoublecomputeWeight();

设计3个实现接口的类:Television,Computer,WashMachinc。这三个类通过实现接口给出自

重。

定义-•个Car类,该类用ComputeWeight接口类型的数组作为成员,那么该数组的单元可以

存放Television,Computer,WashMachine对象的引用。

设计程序能输出Car对象所装载的货物的总重量。

提示:可以把实现某接口的类创建的对象的引用赋值给该接口声明的接口变量。

classTelevisionimplementsCompute

Weight{

privatedoubleweight;

privatedouble

//override

publicdoublecomputeWeight(){

returnthis.weight;

}

classCar

public:

CarQ;

Car(intTelevision,intComputerintWashMachine);

private:

intTelevision;

intComputer;

intWashMachine;

)

Java语言程序设计试题及答案(五)

时间:2012-06-02㈤

语言程序设计试题及答案(五)一、单项选择题(本大题共io

小题,每小题1分,共io分)在每小题列出的四个备选项中只有一个是符合题

目要求的

,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.在Java中,负责对字节代码解释执行的是。。分)

A:垃圾回收器

B:虚拟机

C:编译器

D:多线程机制

2.在Java中,获取选择框是否被选中的方法是。(1分)

A:getSelectO

B:getSclectcdO

C:isSelectQ

D:isSelectcdO

3.下列叙述中,正确的是()。分)

A:Java语言的标识符是区分大小写的

B:源文件名与public类名可以不相同

C:源文件名其扩展名为jar

D:源文件中public类的数目不限

4.要为程序中的按钮button设置一个热键alt+A,可以采用的代码是()。分)

A:button.setMnemonic(?A?)

B:button.setMnemonic^alt+A1,)

C:button.setToolTipText(?A?)

D:button.setToolTipText^alt+A0)

5.在Java中,设置字型应使用Graphics的()方法。(1分)

A:setfont(Fontfont)

B:setFont(Fontfont)

C:Font(Stringfontname,intstyle,intsize)

D:fbnt(Stringfbntnamc,intstyle,intsize)

6.列表事件的事件源有两种,其中之一是单击列表中的选项,则与单击选项事件相关的接

口是0(I分)

A:ActionListener

B:ListSelectionEvent

C:UstSelectionldstener

D:addListSclcctionListcncr

7.在Java语言的java.util包中,用于语言符号(单词)分析的类是0。分)

A:stringTokenizer

B:StringTokenizer

C:ToKenizer

D:tokenizer

8.下列语句中,错误的Java语句是()(1分)

A:连续出现多个分号

B:try……catch语句

C:include语句

D:switch语句

9.在Java程序中,已将对象接到BufferedWriter对象上,要实现缓冲式输出,可对

BufferedWriter对象使用的方法是()。分)

A:read。

B:writeQ

C:readLineO

D:writeLongQ

10.接口的所有变量和方法分别默认为是0(1分)

A:finalstatic和publicabstract

B:finalstatic和publicfinal

C:publicstatic和publicabstract

D:publicstatic和publicfinal

二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

错填、不填均无分。

l.Java源文件中最多只能有一个类,其他类的个数不限。(2分)

2.Java语言将类型分为基本类型和类型两种。(2分)

3.当在一个容器中放入多个选择框之前,可以先用对象将多个选择框分组,使得同一时刻

组内的多个选择框只允许有一个被选中。(2分)

4.Java语言使用字符集,共有65535个字符。(2分)

5.给Java中的菜单项设置快捷键所使用的类中对应的构造方法为。(2分)

6.类java.awtGraphics的成员方法可以用来显示一幅图像。(2分)

7.Java语言为处理鼠标事件提供了两个接口,其中接口能处理鼠标拖动和鼠标移动两种事

件。(2分)

8.当在一个容器中放入多个选择框之前,可以先用对象将多个选择框分组,使得同一时刻

组内的多个选择框只允许有一个被选中。(2分)

9.Java语言在实现C/S模式中,套接字分为两类,其中在Server端,类支持底层的网络通信。

(2分)

10.Java语言使用字符集,共有65535个字符。(2分)

三、程序填空题(本大题共5小题,每空2分,共20分)

1.程序运行结果为:

2008年10月1日

2009年2月2日

请填空:

publicclassDate

inty,m,d;

DateQ

{

y=2008;m=l0;d=1;

}

Date(intyyjntmm,intdd)

{

y=yy;m=mm;d=dd;

}

publicStringtoStringQ

{

return;

publicstaticvoidmain(String[]args)

Datedl=newDate。;

Dated2=ncw;

System.out.println(d1.toStringQ);

System.out.println(d2.toStringQ);

}

}(2分)

2.回文是指正读和反读都一样的字符串。方法f27(Strings)的功能是判断一个字符串是否为

回文。例如:s="abccba",该方法返回值为true;n="abc",

该方法返回值为falseo

booleanf27(Strings)

{

inti=0;

while(i<s.lcngthQ/2)

{

Stringsl,s2;

sl=s.substring(i,i+l);

s2=s.substring0;

if(!(sl.cquals(s2)))break;

i++;

}

return;

}(2分)

3.下列小应用程序实现如下功能:红点沿直线循环向下运动的同时,蓝点沿直

线循环向上运动。

importjava.applct.*;importjava.awt.*;

publicclassClass3103extendsAppletimplementsRunnable

{

ThreadredBall,blueBall;GraphicsredPen,bluePen;

intblueSeta=O,redSeta=O;

publicvoidinit()

(

setSize(250,200);

redBall=newThread(this);blueBall=newThread(this);

redPen=getGraphicsQ;bluePen=getGraphics();

redPen.setColor(Color.red);bluePen.setColor(Color.blue);

setBackground(Coior.gray);

)

publicvoidstart。

{

redBall.startO;

}

publicvoidrun。

{

intx,y;

while(true)

(

if(Thread.currentThread()==redBall)

(

x=0;

y=redSeta;

redPen.setColor(Color.gray);

redPen.fillOval(l00+x,y,10,10);

redSeta+=3;

if(rcdScta>=200)rcdScta=O;

x=0;

y=rcdScta;

redPen.setColor(Color.red);

rcdPcn.fillOval(l00+x,y,10,10);

try{redBall.sleep(20);}

catch(InterruptedExceptione){}

}

elseif。

(

x=0;

y=blueSeta;

bluePen.setColor(Color.gray);

bluePen.fillOval(l50+x,l00+y,l0,10);

blucScta-=3;

if(blueSeta<=-100)blueSeta=0;

x=0;

y=blueSeta;

blucPcn.sctColor(Color.bluc);

bluePen.fillOval(l50+x,l00+y,l0,10);

try{blueBall.sleep(40);}

catch(IntcrruptcdExccptionc){}

}(2分)

4.方法f2701(intn)返回十进制整数n的位数。

f2701(intn)

(

intc;

for(c=0;;c4-+)n/=10;

returnc;

}(2分)

5.方法f2702(intn)返回2~n之间的所有质数的个数。

intf2702(intn)

{

inti,j,count=0;

for(i=2;i<=n;i+4-)

for(j=2;j<i;j++)

if(i%j==O)

if(j==i);

returncount;

}(2分)

四、程序分析题(本大题共5小题,每小题4分,共20分)

1.请将以下程序段表示的计算e的公式写出来(假设x的值已给出)。

floata,e;

e=l;

a=l;

fdr(intn=l;n<=10;n++)

{

a=a*x/n;

c=e+a;

}

写出所表示的公式e=o(4分)

2.阅读下列程序,写出程序的运行结果。

publicclassClass3203

(

publicstaticvoidmain(String[]args)

(

Stringtext="Tobeornottobe,thatisthequestion;"

+"Whethertisnoblerinthemindtosuffer”

+"theslingsandarrowsofoutrageousfortune,n

+"ortotakearmsagainstaseaoftroubles,"

+"andbyopposingendthem?”;

inttheCount=0;

intindex=-l;

StringtheStr=nthe";

index=text.indexOf(theStr);

while(indcx>=0)

(

++theCount;

index+=theStr.lengthQ;

indcx=tcxt.indcxOf(thcStr,index);

}

Systcm.out.println(nThcTextcontains04"thcCount+nthcsH);

}

}(4分)

3.阅读下列程序,写出程序的运行结果。

publicclassClass3303

staticpublicvoidmain(Stringargs[])

booleanbTbl口口=ncwboolean[4]口;

for(inti=0;i<bTb1.length;i++)

(

bTbl[i]=newboolean[i+1];

}

for(inti=0^<bTbl.length;i+4-)

|

fbr(intk=0;k<bTbl[i].length;k++)

(

System.out.print(bTb1[i][k]+”0);

)

System.out.println(HH);

}

)

}(4分)

4.阅读程序,画出程序运行后初始界面并写出程序功能。

importjavax.swing.*;

importjava.awt.evcnt.*;

publicclassClass3403extendsJFrameimplementsActionlistener

{

JButtonb1=newJButton(Hbl");

JButtonb2=newJButton^bZ'1);

publicClass3403Q

(

super(nClass3403n);

setSize(300,100);

setDefaultCloseOperation0Frame.EXIT_ON_CT,OSE);

JPanelpanel=newJPanel0;

pancl.add(bl);pancl.add(b2);

setContentPane(panel);

bl.addActionListener(this);

b2.addActionListener(this);

sctVisible(truc);

}

publicvoidactionPcrfbrmcd(ActionEvcnte)

(

Objects=c.gctSourcc();

Hn

if(s==bl)setTide(Teacher);

if(s==b2)setTide(HStudentH);

publicstaticvoidmain(String[]args)

newClass3403Q;

}

}(4分)

5.阅读下列程序,写出程序功能。

importjava.applet.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassClass35004extendsAppletimplementsMouscListencr

(

intr=-10,mouscFlag=0;

staticStringmouseState[[={“AAA”JBBB”,“CCC",“DDD”};

publicvoidprint(intx,inty)

{

Graphicsg=getGraphicsQ;

r+=10;

g.drawString(mouscState[mouseFlag]+H,x="+x+",尸"+y+”\n",l0,r);

}

publicvoidmouscPrcsscd(MouscEvcnte)

{mouseFlag=0;print(e.getXO,e.getY());}

publicvoidmouseReleased(NIouseEvente)

{mouseFlag=1;print(e.getX(),e.getY0);}

publicvoidmouscEntcrcd(MouseEvcntc)

{mouseFlag=2;print(e.getX0,e.getY());}

publicvoidmouseExited(MouseEvente)

{mouseFlag=3;print(e.getX0,e.getY());}

publicvoidmouseClicked(MouseEvente){}

publicvoidinitQ

{

setBackground(Color,red);

addMouseListener(this);

)

}(4分)

五、程序设计题(本大题共2小题,每小题6分,共12分)

1.设计一个应用程序,原始数据从程序界面的一个文本区输入,用户点击按钮后,在另一

个文本区上输出排序后的数据,并将排序后的数

据输出到文件中。已给出部分代码,请完成程序。

importjava.io.*;

importjava.util.*;

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

publicclassClass3805implementsActionListener

|

JTextAreatai=newJTextArea(l0,20);

JTextAreata2=newJTextArea。0,20);

JButtonbutt=newJButton(nSortAndSaven);

publicstaticvoidmain(String口args)

{

newClass3805();

)

publicClass3805()

(

JFramemyWin=newJFrame(nClass3805H);

myWin.setDefaultCloseOperation0Frame.EXIT_ON_CLOSE);

Containercon=myWin.getContentPane();

con.setLayout(newFlowLayoutO);

con.setBackground(Color.blue);

con.add(tal);con.add(butt);con.add(ta2);

myWin.setBounds(200,200,600,300);

butt.addActionListener(this);

myWin.setVisible(true);

}

publicvoidactionPerfbrmed(ActionEvente)

{

〃这里是你要编写的代码

}

}(6分)

2.编写一个方法f37020,要求该方法有一个元素类型为整型的数组参数,方法的功能是把

参数数组中元素值相同的元素删成只剩一个,经

过删除后会得到一个新数组,方法返回这个新数组。(6分)

六、简答题(本大题共6小题,每小题3分,共18分)

1.请写出程序处理按钮单击事件时,与按钮动作事件相关的接口,注册监视器

的方法及要实现的接口方法。(3分)

2.写出画多边形的两个常用方法。(3分)

3.Java语言在实现C/S模式中,套接字分为哪两类?(3分)

4.文本框(JTextField)是界面中用于输入和输出一行文本的区域。文本框处理程序

的基本内容有哪五个方面?(3分)

5.在类的方法名前面和成员变量名前面加上public和protected有何区别?(3

分)

6.在Java语言中,循环语句有哪三种?(3分)

参考答案:

一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四

个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内

o错选、多选或未选均无分。

1:参考答案:B

参考解析:(P4)在任何平台上,Java源程序被Java编译器译成虚拟机能够识别的

字节码。这样,只要有Java虚拟机的平台,

就能解释执行Java字节码程序,从而实现Java程序与平台无关。

试题内容:

在Java中,负责对字节代码解释执行的是()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论