admin 管理员组

文章数量: 887186


2024年1月13日发(作者:棋牌app程序源码)

资料收集于网络 如有侵权请联系网站 删除 谢谢

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

时间:2012-02-20

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

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

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

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

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

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

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

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

二、不定项选择题。

1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。

A、java B、class C、html D、exe

2、main方法是Java Application程序执行的入口点,关于main方法的方法首部,以下(B)项是合法的。

A、public static void main()

B、public static void main(String args[])

C、public static int main(String[] arg)

D、public void main(String arg[])

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

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

public class Example {

public static void main(String[] args) {

int[] arr= new int[10];

n(arr[1]);

}

}

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

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

A、float a=1.0d; B、 Double a=new

Double(1.0)

C、byte a = (byte)340; D、 Byte a = 120;

5、定义一个类名为""的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为( CD)。

A、private class MyClass extends Object B、class MyClass

extends Object

C、public class MyClass D、public class MyClass extends Object

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、执行下列代码后,哪个结论是正确的 String[] s=new

String[10]; BD

A、s[10] 为 "" B、s[9] 为 null; C、s[0] 为 未定义 D、 为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

public class MyThread extends Thread implements Runnable{

public void run(){

n("this is run()");

}

public static void main(String[] args) {

Thread t=new Thread(new MyThread ());

();

}

}

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

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

三、简答题。

1、子类重新定义与父类方法的方法头完全相同的方法,这种情况称为什么?此时子类对象还能执行父类中原来的方法吗?

答:这种情况称为方法的覆盖,此时,在子类中已不能找到父类原来的方法,它的内存位置已经被替代。

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

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

被final修饰符修饰的类没有子类。被final修饰符修饰的属性在程序整个执行过程中都不能改变。被final修饰符修饰的方法是功精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

能和内部语句不能更改的最终方法。被final修饰符修饰的终结器(以称析构器——finalize()方法,是在对象被删除前进行收尾工作的方法)也是不能更改的。

3、试写出一个语句创建一个名为myPackage的包,这个语句应该放在程序的什么位置?

package MyPackage;

应该在程序第一句。

四、编程题。

1、打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1+5+3。

#include

int main()

{

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

int i;

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

printf("打印三位数的所有水仙花数n");

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

精品文档

333

资料收集于网络 如有侵权请联系网站 删除 谢谢

{

a=i/100;

b=i/10;

c=i;

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

{

printf("%dn",i);

}

}

return 0;

}

2、编程创建一个Cube类,在其中定义三个变量表示一个立方体的长、宽和高,定义一个构造方法对这三个变量进行初始化,然后定义一个方法求立方体的体积。创建一个对象,求给定尺寸的立方体的体积。

public class Box

{

double length;//长

double width;//宽

double height;//高

public Box()

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

{//构造函数

length=0;

width=0;

height=0;

}

public void setLength(double length)

{//设置长

=length;

}

public double getLength()

{//得到长

return length;

}

public void setWidth(double width)

{//设置宽

=width;

}

public double getWidth()

{//得到宽

return width;

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

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

时间:2012-02-20

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

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

1、Java Application程序中,必有一个主方法main(),该方法有没有参数都可以。×

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

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

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

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

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

二、不定项选择题。

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

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

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

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

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

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

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

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

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

C、运行“java ” D、运行“java FirstApp”

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

A、Helloworld B、HelloWorld C、helloworld D、helloWorld

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

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

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

C、源文件扩展名为.jar

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

5、指出下列哪个方法不是public void add(int a){}的重载方法。(A)

A、public int add(int a) B、public void add(long a)

C、public void add(int a, int b) D、public void add(float a)

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 )。

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

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

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

资料收集于网络 如有侵权请联系网站 删除 谢谢

决定调用哪个方法

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

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的所有成员,并写明它们定义自哪里。

class MyClass1{

private int pro11;

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

double pro12;

}

class MyClass2 extends MyClass1{

private double pro12;

int pro21;

}

class MyClass3 extends MyClass2{

private int pro21;

double pro31;

}

2、创建接口使用什么关键字?接口可以有父接口吗?试书写语句创建—个名为MyInterface的接口,它是继承了MySuperInterface1和MySuperInterface2两个接口的子接口。

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

Interface MyInterface extends MySuperInterface, MySuperInterface2

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

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

#include

#include//函数exit的函数头

using namespace std;

int main()

{

void sort(int x[],int n);//函数声明

int n;

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

int *a=new int[n];//动态分配数组的长度

if(a==NULL)

{

cout<<"Error,Cannot Allocate Memory!"<

exit(1);

}

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

int *p,i;

p=a;

for(i=0;i

cin>>a[i];

p=a;

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

for(p=a,i=0;i

{

cout<

cout<

}

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

return 0;

}

void sort(int x[],int n)

{

int i,j,k,t;

for(i=0;i

{

k=i;

for(j=i+1;j

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

k=j;

if(k!=i)

{

t=x[i];

x[i]=x[k];

x[k]=t;

}

}

}

2、定义一个学生类(Student),属性包括:学号,班号,姓名,性别,年龄,班级总人数;方法包括:获得学号,获得班号,获得姓名,获得性别,获得年龄,获得班级总人数,修改学号,修改班号,修改姓名,修改性别,修改年龄以及一个toString()方法将Student类中的所有属性组合成一个字符串。定义一个学生数组对象。设计程序进行测试。

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

class student{

private String xuehao;

private String banhao;

private String xingming;

private String xingbie;

private int nianling;

public student(String x,String b,String m,String b1,int n){

= x;

= b;

ng = m;

e = b1;

ng = n;

}

public String getxuehao(){

return xuehao;

}

public String getbanhao(){

return banhao;

}

public String getxingming(){

return xingming;

}

public String getxingbie(){

return xingbie;

}

public int getnianling(){

return nianling;

}

public String toString(){

return xuehao+" "+banhao+" "+xingming+" "+xingbie+" "+nianling;

}

}

public class Dome4{

public static void main(String args[]){

student s1 = new student("02122168","12","安静","男",24);

n(ng());

}

}

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

资料收集于网络 如有侵权请联系网站 删除 谢谢

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

data segment

indata dw 2 dup(?)

outdata dw 1 dup(?)

notein1 db 'please input the first decimal number(0-99):$'

notein2 db 'please input the second decimal number(0-99):$'

noteout db 'the result of addition is:$'

notewarn db 'warning:wrong char!$'

noteagain db 'please input again:$'

data ends

show macro addr

mov ah,9h

lea dx,addr

int 21h

endm

code segment

assume cs:code,ds:data,es:data

main proc far

start:

push ds

sub ax,ax

push ax

mov ax,data

mov ds,ax

mov es,ax

show notein1

call crlf

call deci_input

mov indata,bx

call crlf

show notein2

call crlf

call deci_input

mov indata+2,bx

call crlf

mov ax,bx

add ax,indata

mov outdata,ax

show noteout

call crlf

call deci_output

ret

main endp

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

deci_input proc near

mov bx,0

newchar:mov ah,1

int 21h

cmp al,0dh

jz exit

sub al,30h

jl noteerr

cmp al,9d

jg noteerr

cbw

xchg ax,bx

mov cx,10d

mul cx

xchg ax,bx

add bx,ax

jmp newchar

noteerr:call crlf

show notewarn

call crlf

show noteagain

jmp newchar

exit: ret

deci_input endp

deci_output proc near

mov bx,outdata

mov cl,100d

mov ax,bx

div cl

mov bl,ah

mov dl,al

add dl,30h

call dispchar

mov ax,0

mov al,bl

cbw

mov cl,10d

div cl

mov bl,ah

mov dl,al

add dl,30h

call dispchar

mov dl,bl

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

add dl,30h

call dispchar

ret

deci_output endp

crlf proc near

mov dl,0ah

call dispchar

mov dl,0dh

call dispchar

ret

crlf endp

dispchar proc near

mov ah,2h

int 21h

ret

dispchar endp

code ends

end start

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

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

时间:2012-02-20

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

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

1、当前路径的标识是“.”。 √

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

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

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

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

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

7、IOException必须被捕获或抛出。√

二、不定项选择题。

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

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

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

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

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

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

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

A、一个Java Application程序由一个或多个文件组成,每个文件中可以定义一个或多个类,每个类由若干个方法和变量组成

B、Java程序中声明有public类时,则Java程序文件名必须与public类的类名相同,并区分大小写,扩展名为.java

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

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

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

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

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

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

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

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

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

int[] myArray=new int[3];

try{

for (int i=0; i <= ; i++){

myArray[i]=i*3 ;

n("myArray 数组的第"+ i +"个元素的值是"+myArray[i]);

}

} catch (ArrayIndexOutOfBoundsException e) {

n("数组下标越界");

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

}

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)。

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

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

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

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

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

B、Java在用"+"号进行字符连接时,是新建一个StringBuffer对象,用它来连接所有字符串,然后再转回String对象.

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

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

资料收集于网络 如有侵权请联系网站 删除 谢谢

连接符

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

public void example(){

try{

unsafe();

n("Test1");

}catch(SafeException e){

n("Test 2");

}finally{

n("Test 3");

}

n("Test 4");

}

A 、Test 1 B、 Test 2 C、 Test 3 D、 Test 4

三、简答题。

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''。

#include

int main()

{ int s;

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

scanf("%d", &s);

if(s>100 || s < 0)

{

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

return 1;

}

char ch;

switch(s/10)

{

case 10:

case 9: ch = 'A'; break;

case 8: ch = 'B'; break;

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

case 7: ch = 'C'; break;

case 6: ch = 'D'; break;

default:

ch = 'E'; break;

}

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

return 0;

2、定义—个类Rectangle代表矩形,为矩形定义getLength方法(获得矩形的长度)、getWidth方法(获得矩形的宽度)、setLength方法(设置矩形的长度)、setWidth方法(设置矩形的宽度)、getArea方法(求矩形的面积)和toString方法(显示矩形的格式),为矩形派生出一个子类Square代表正方形,并对getArea和toString进行重写。并编写程序进行测试。

public class Rectangle {

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

// width: 宽

// heigth: 长

private double top, left, width, height;

// 构造函数

public Rectangle(double top, double left, double width, double height) {

= top;

= left;

= width;

= height;

}

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

public void size(double width, double height) {

= width;

= height;

}

// 计算面积,宽×高

public double area() {

return width * height;

}

//求面积

public double getMianJi(int mx,int my){

return tance(pointA, pointB)*tance(pointB, pointC);

}

3、卡车要装载一批货物,货物有三种商品:电视、计算机和洗衣机。需要计算出大货车承载的3种货物的重量。要求有一个ComputeWeight接口,该接口中有一个抽象方法:

public double computeWeight();

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

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

定义一个Car类,该类用ComputeWeight接口类型的数组作为成员,那么该数组的单元可以存放Television, Computer, WashMachine对象的引用。

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

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

class Television implements Compute

Weight{

private double weight;

private double

//override

public double computeWeight(){

return ;

}

class Car

{

public:

Car();

Car(int Television, int Computer int WashMachine );

private:

int Television;

int Computer;

int WashMachine;

}

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

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

时间:2012-06-02

Java语言程序设计试题及答案(五)一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的

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

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

A:垃圾回收器

B:虚拟机

C:编译器

D:多线程机制

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

A:getSelect()

B:getSelected()

C:isSelect()

D:isSelected()

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

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

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

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

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

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

A:monic(?A?)

B:monic("alt+A")

C:lTipText(?A?)

D:lTipText("alt+A")

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

A:setfont(Font font)

B:setFont(Font font)

C:Font(String fontname,int style,int size)

D:font(String fontname,int style,int size)

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

A:ActionListener

B:ListSelectionEvent

C:ListSelectionListener

D:addListSelectionListener

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

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

A:stringTokenizer

B:StringTokenizer

C:ToKenizer

D:tokenizer

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

A:连续出现多个分号

B:atch语句

C:include语句

D:switch语句

9. 在Java程序中,已将FileWriter对象接到BufferedWriter对象上,要实现缓冲式输出,可对BufferedWriter对象使用的方法是() (1分)

A:read()

B:write()

C:readLine()

D:writeLong()

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

A:final static和public abstract

B:final static和public final

C:public static和public abstract

D:public static和public final

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

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

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

3. 当在一个容器中放入多个选择框之前,可以先用对象将多个选择框分组,使得同一时刻组内的多个选择框只允许有一个被选中。 (2分)

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

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

6. 类cs的成员方法可以用来显示一幅图像。 (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日

请填空:

public class Date

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

{

int y,m,d;

Date()

{

y=2008;m=10;d=1;

}

Date(int yy,int mm,int dd)

{

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

}

public String toString()

{

return;

}

public static void main(String[] args)

{

Date d1=new Date();

Date d2=new;

n(ng());

n(ng());

}

} (2分)

2. 回文是指正读和反读都一样的字符串。方法f27(String s)的功能是判断一个字符串是否为回文。例如:s="abccba",该方法返回值为true;n="abc",

该方法返回值为false。

boolean f27(String s)

{

int i=0;

while(i<()/2)

{

String s1,s2;

s1=ing(i,i+1);

s2=ing();

if(!((s2)))break;

i++;

}

return;

} (2分)

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

import .*;import .*;

public class Class3103 extends Applet implements Runnable

{

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

Thread redBall,blueBall;Graphics redPen,bluePen;

int blueSeta=0,redSeta=0;

public void init()

{

setSize(250,200);

redBall=new Thread(this);blueBall=new Thread(this);

redPen=getGraphics();bluePen=getGraphics();

or();or();

setBackground();

}

public void start()

{

();

}

public void run()

{

int x,y;

while(true)

{

if(tThread()==redBall)

{

x=0;

y=redSeta;

or();

al(100+x,y,10,10);

redSeta +=3;

if(redSeta>=200) redSeta=0;

x=0;

y=redSeta;

or();

al(100+x,y,10,10);

try {(20);}

catch(InterruptedException e){}

}

else if()

{

x=0;

y=blueSeta;

or();

al(150+x,100+y,10,10);

blueSeta-=3;

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

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

x=0;

y=blueSeta;

or();

al(150+x,100+y,10,10);

try {(40);}

catch(InterruptedException e){}

}

}

}

} (2分)

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

f2701(int n)

{

int c;

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

return c;

} (2分)

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

int f2702(int n)

{

int i,j,count=0;

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

{

for(j=2;j

if (i%j==0)

if(j==i);

}

return count;

} (2分)

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

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

float a,e;

e=1;

a=1;

for(int n=1;n<=10;n++)

{

a=a*x/n;

e=e+a;

}

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

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

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

public class Class3203

{

public static void main(String[] args)

{

String text="To be or not to be,that is the question;"

+"Whether tis nobler in the mind to suffer"

+"the slings and arrows of outrageous fortune,"

+"or to take arms against a sea of troubles,"

+"and by opposing end them?";

int theCount=0;

int index=-1;

String theStr="the";

index=f(theStr);

while(index>=0)

{

++theCount;

index+=();

index=f(theStr,index);

}

n("The Text contains "+theCount+" thes");

}

} (4分)

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

public class Class3303

{

static public void main(String args[])

{

boolean bTb1[][]=new boolean[4][];

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

{

bTb1[i]=new boolean[i+1];

}

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

{

for(int k=0;k

{

(bTb1[i][k]+" ");

}

n("");

}

}

} (4分)

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

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

import .*;

import .*;

public class Class3403 extends JFrame implements ActionListener

{

JButton b1=new JButton("b1");

JButton b2=new JButton("b2");

public Class3403()

{

super("Class3403");

setSize(300,100);

setDefaultCloseOperation(_ON_CLOSE);

JPanel panel=new JPanel();

(b1);(b2);

setContentPane(panel);

ionListener(this);

ionListener(this);

setVisible(true);

}

public void actionPerformed(ActionEvent e)

{

Object s=rce();

if (s==b1)setTitle("Teacher");

if(s==b2)setTitle("Student");

}

public static void main(String []args)

{

new Class3403();

}

} (4分)

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

import .*;

import .*;

import .*;

public class Class35004 extends Applet implements MouseListener

{

int r=-10, mouseFlag=0;

static String mouseState[]={"AAA","BBB","CCC","DDD"};

public void print(int x,int y)

{

Graphics g=getGraphics();

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

r+=10;

ring(mouseState[mouseFlag]+",x="+x+",y="+y+"\n",10,r);

}

public void mousePressed(MouseEvent e)

{mouseFlag=0;print((),());}

public void mouseReleased(MouseEvent e)

{mouseFlag=1;print((),());}

public void mouseEntered(MouseEvent e)

{mouseFlag=2;print((),());}

public void mouseExited(MouseEvent e)

{mouseFlag=3;print((),());}

public void mouseClicked(MouseEvent e){}

public void init()

{

setBackground();

addMouseListener(this);

}

} (4分)

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

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

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

import .*;

import .*;

import .*;

import .*;

import .*;

public class Class3805 implements ActionListener

{

JTextArea ta1=new JTextArea(10,20);

JTextArea ta2=new JTextArea(10,20);

JButton butt=new JButton("SortAndSave");

public static void main(String[] args)

{

new Class3805();

}

public Class3805()

{

JFrame myWin=new JFrame("Class3805");

aultCloseOperation(_ON_CLOSE);

Container con=tentPane();

out(new FlowLayout());

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

kground();

(ta1);(butt);(ta2);

nds(200,200,600,300);

ionListener(this);

ible(true);

}

public void actionPerformed(ActionEvent e)

{

//这里是你要编写的代码

}

} (6分)

2. 编写一个方法f3702(),要求该方法有一个元素类型为整型的数组参数,方法的功能是把参数数组中元素值相同的元素删成只剩一个,经

过删除后会得到一个新数组,方法返回这个新数组。 (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分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内

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

1:参考答案:B

参考解析:(P4)在任何平台上,Java源程序被Java编译器译成虚拟机能够识别的字节码。这样,只要有Java虚拟机的平台,

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

试题内容:

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

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

A:垃圾回收器

B:虚拟机

C:编译器

D:多线程机制

2:参考答案:D

参考解析:(P111)isSelected()方法当选择框被选中时返回true。所有的方法都是第一个字母小字,若是多个单词组成的名字,后面的每个单词首字母

均大写。这是一个规律。没有A、B、C这三种方法。

试题内容:

在Java中,获取选择框是否被选中的方法是()

A:getSelect()

B:getSelected()

C:isSelect()

D:isSelected()

3:参考答案:A

参考解析:(P8)源文件中如果有public类,则源文件名与public类名必须相同;源文件名其扩展名为.java;源文件中public类的数目不能多于一个。

试题内容:

下列叙述中,正确的是()

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

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

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

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

4:参考答案:A

参考解析:(P111)

试题内容:

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

A:monic(?A?)

B:monic("alt+A")

C:lTipText(?A?)

D:lTipText("alt+A")

5:参考答案:B

参考解析:(P138)

试题内容:

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

A:setfont(Font font)

B:setFont(Font font)

C:Font(String fontname,int style,int size)

D:font(String fontname,int style,int size)

6:参考答案:C

参考解析:(P114)ActionListener是与双击选项事件相关的接口,注册监视器的方法是addActionListener(),接口方法是

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

actionPerformed(ActionEvent e)。与单击选项事件相关的接口是ListSelectionListener,注册监视器的方法是

addListSelectionListener(),接口方法是valueChanged(ListSelectionEvent e)。

试题内容:

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

A:ActionListener

B:ListSelectionEvent

C:ListSelectionListener

D:addListSelectionListener

7:参考答案:B

参考解析:(P77)

试题内容:

在Java语言的包中,用于语言符号(单词)分析的类是()

A:stringTokenizer

B:StringTokenizer

C:ToKenizer

D:tokenizer

8:参考答案:C

参考解析:(P20)本题考核知识点是Java语句。在Java语言中连续出现多个分号不是一种错误,编译系统认为每个单独的分号都是一个空语句。B答案

是捕获异常的语句。D答案是多分支选择语句。在Java中没有include语句。

试题内容:

下列语句中,错误的Java语句是()

A:连续出现多个分号

atch语句

C:include语句

D:switch语句

9:参考答案:B

参考解析:(P179)本题考核知识点是用缓冲式输出。采用缓冲式输出时,write()方法只是将字符串写入到系统内设的缓冲区,待缓冲区满后,系统自

动将缓冲区中内容写入到文件。如果想立即写入到文件,则需要调用flush()方法。

试题内容:

在Java程序中,已将FileWriter对象接到BufferedWriter对象上,要实现缓冲式输出,可对BufferedWriter对象使用的方法是()

A:read()

B:write()

C:readLine()

D:writeLong()

10:参考答案:A

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

参考解析:(P59)接口是一种只由常量定义和抽象方法组成的特殊类。用public修饰的接口是公共接口,可被所有的类和接口使用;而没有public修饰

的接口只能被同一个包中的其他类和接口使用。接口的所有变量都默认为是final static属性;所有的方法都默认为public abstract属性。一个类通过使

用implements声明自己使用一个或多个接口。实现多个接口时,接口名之间用逗号隔开。

试题内容:

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

A:final static和public abstract

B:final static和public final

C:public static和public abstract

D:public static和public final

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

1:参考答案:(P5)public

试题内容:

Java 源文件中最多只能有一个_____类,其他类的个数不限。

2:参考答案:(P45)引用

试题内容:

Java语言将类型分为基本类型和_____类型两种。

3:参考答案:(P112)ButtonGroup

试题内容:

当在一个容器中放入多个选择框之前,可以先用_____对象将多个选择框分组,使得同一时刻组内的多个选择框只允许有一个被选中。

4:参考答案:(P7)Unicode

试题内容:

Java语言使用_____字符集,共有65535个字符。

5:参考答案:(P121)MenuShortcut(int key)

试题内容:

给Java中的菜单项设置快捷键所使用的类中对应的构造方法为_____。

6:参考答案:(P149)drawImage()

试题内容:

类cs的成员方法_____可以用来显示一幅图像。

7:参考答案:(P130)MouseMotionListener

试题内容:

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

8:参考答案:(P11)ButtonGroup

[解析]当在一个容器中放入多个选择框,且没有用ButtonGroup对象将它们分组,则可以同时选中多个选择框。如果使用ButtonGroup对象将选择

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

框分组,同一时刻组内的多个选择框只允许有一个被选中,称同一组内的选择框为单选框。单选框分组的方法是先创建ButtonGroup对象,然后将希

望为同组的选择框添加到同一个ButtonGroup对象中。

试题内容:

当在一个容器中放入多个选择框之前,可以先用_____对象将多个选择框分组,使得同一时刻组内的多个选择框只允许有一个被选中。

9:参考答案:(P193)ServerSocket

试题内容:

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

10:参考答案:(P7)Unicode

试题内容:

Java语言使用_____字符集,共有65535个字符。

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

1:参考答案:y+"年"+m+"月"+d+"日"

Date(2009,2,2)

,

试题内容:

程序运行结果为:

2008年10月1日

2009年2月2日

请填空:

public class Date

{

int y,m,d;

Date()

{

y=2008;m=10;d=1;

}

Date(int yy,int mm,int dd)

{

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

}

public String toString()

{

return_____;

}

public static void main(String[] args)

{

Date d1=new Date();

Date d2=new_____;

n(ng());

n(ng());

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

}

}

2:参考答案:()-i-1,()-i

i<()/2?false:true

,

试题内容:

回文是指正读和反读都一样的字符串。方法f27(String s)的功能是判断一个字符串是否为回文。例如:s="abccba",该方法返回值为true;

n="abc", 该方法返回值为false。

boolean f27(String s)

{

int i=0;

while(i<()/2)

{

String s1,s2;

s1=ing(i,i+1);

s2=ing(_____);

if(!((s2)))break;

i++;

}

return_____;

}

3:参考答案:();

tThread()==blueBall

,

试题内容:

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

import .*;import .*;

public class Class3103 extends Applet implements Runnable

{

Thread redBall,blueBall;Graphics redPen,bluePen;

int blueSeta=0,redSeta=0;

public void init()

{

setSize(250,200);

redBall=new Thread(this);blueBall=new Thread(this);

redPen=getGraphics();bluePen=getGraphics();

or();or();

setBackground();

}

public void start()

{

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

();

_____

}

public void run()

{

int x,y;

while(true)

{

if(tThread()==redBall)

{

x=0;

y=redSeta;

or();

al(100+x,y,10,10);

redSeta +=3;

if(redSeta>=200) redSeta=0;

x=0;

y=redSeta;

or();

al(100+x,y,10,10);

try {(20);}

catch(InterruptedException e){}

}

else if(_____)

{

x=0;

y=blueSeta;

or();

al(150+x,100+y,10,10);

blueSeta-=3;

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

x=0;

y=blueSeta;

or();

al(150+x,100+y,10,10);

try {(40);}

catch(InterruptedException e){}

}

}

}

}

4:参考答案:int

n!=0

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

,

试题内容:

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

_____f2701(int n)

{

int c;

for(c=0;_____;c++)n/=10;

return c;

}

5:参考答案:break;

count++

,

试题内容:

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

int f2702(int n)

{

int i,j,count=0;

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

{

for(j=2;j

if (i%j==0)_____

if(j==i)_____;

}

return count;

}

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

1:参考答案:输出结果为:false,false,true

试题内容:

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

float a,e;

e=1;

a=1;

for(int n=1;n<=10;n++)

{

a=a*x/n;

e=e+a;

}

写出所表示的公式e=___。

2:参考答案:运行结果:The Text contains 5 thes

[解析]本题是检索字符串有多少个the组合。注意有3个the,另外还有whether和them也精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

有the。

试题内容:

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

public class Class3203

{

public static void main(String[] args)

{

String text="To be or not to be,that is the question;"

+"Whether tis nobler in the mind to suffer"

+"the slings and arrows of outrageous fortune,"

+"or to take arms against a sea of troubles,"

+"and by opposing end them?";

int theCount=0;

int index=-1;

String theStr="the";

index=f(theStr);

while(index>=0)

{

++theCount;

index+=();

index=f(theStr,index);

}

n("The Text contains "+theCount+" thes");

}

}

3:参考答案:运行结果:

false

false false

false false false

false false false false

试题内容:

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

public class Class3303

{

static public void main(String args[])

{

boolean bTb1[][]=new boolean[4][];

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

{

bTb1[i]=new boolean[i+1];

}

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

{

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

for(int k=0;k

{

(bTb1[i][k]+" ");

}

n("");

}

}

}

4:参考答案:程序运行后初始界面为:

程序功能:是单击b1按钮窗口标题变为Teacher,单击b2按钮窗口标题变为Student。

试题内容:

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

import .*;

import .*;

public class Class3403 extends JFrame implements ActionListener

{

JButton b1=new JButton("b1");

JButton b2=new JButton("b2");

public Class3403()

{

super("Class3403");

setSize(300,100);

setDefaultCloseOperation(_ON_CLOSE);

JPanel panel=new JPanel();

(b1);(b2);

setContentPane(panel);

ionListener(this);

ionListener(this);

setVisible(true);

}

public void actionPerformed(ActionEvent e)

{

Object s=rce();

if (s==b1)setTitle("Teacher");

if(s==b2)setTitle("Student");

}

public static void main(String []args)

{

new Class3403();

}

}

5:参考答案:程序功能:小应用程序背景为红色,用于记录鼠标事件及鼠标当前坐标。当鼠精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

标进入小应用程序窗口时,在指定的位

置输出“CCC”及鼠标当前坐标;当鼠标离开小应用程序窗口时,在指定的位置输出“DDD”;当鼠标在小应用程序窗口

中按下时,在指定的位置输出“AAA” 及鼠标当前坐标;当鼠标在小应用程序窗口按下后松开时,在指定的位置输出

“BBB”及鼠标当前坐标。

试题内容:

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

import .*;

import .*;

import .*;

public class Class35004 extends Applet implements MouseListener

{

int r=-10, mouseFlag=0;

static String mouseState[]={"AAA","BBB","CCC","DDD"};

public void print(int x,int y)

{

Graphics g=getGraphics();

r+=10;

ring(mouseState[mouseFlag]+",x="+x+",y="+y+"\n",10,r);

}

public void mousePressed(MouseEvent e)

{mouseFlag=0;print((),());}

public void mouseReleased(MouseEvent e)

{mouseFlag=1;print((),());}

public void mouseEntered(MouseEvent e)

{mouseFlag=2;print((),());}

public void mouseExited(MouseEvent e)

{mouseFlag=3;print((),());}

public void mouseClicked(MouseEvent e){}

public void init()

{

setBackground();

addMouseListener(this);

}

}

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

1:参考答案:String s=t();

StringTokenizer str=new StringTokenizer(s,"nt ");

int n=okens();

int a[]=new int[n];

int i=-1,j;

while(++i

{

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

a[i]=nt(ken());

}

for(i=0;i

for(j=i+1;j

{

if(a[i]>a[j])

{int t=a[i];a[i]=a[j];a[j]=t;}

}

for(i=0;i

{

(a[i]+" ");

}

RandomAccessFile out=null;

try

{

out=new RandomAccessFile("","rw");

ytes(t());

}

catch(FileNotFoundException e1){}

catch(IOException e2){}

试题内容:

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

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

import .*;

import .*;

import .*;

import .*;

import .*;

public class Class3805 implements ActionListener

{

JTextArea ta1=new JTextArea(10,20);

JTextArea ta2=new JTextArea(10,20);

JButton butt=new JButton("SortAndSave");

public static void main(String[] args)

{

new Class3805();

}

public Class3805()

{

JFrame myWin=new JFrame("Class3805");

aultCloseOperation(_ON_CLOSE);

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

Container con=tentPane();

out(new FlowLayout());

kground();

(ta1);(butt);(ta2);

nds(200,200,600,300);

ionListener(this);

ible(true);

}

public void actionPerformed(ActionEvent e)

{

//这里是你要编写的代码

}

}

2:参考答案:int[] f3702(int[]a)

{

int []b=new int[];

int i,j,k=0;

b[k]=a[0];

for(i=1;i<;i++)

{

for(j=0;j<=k;j++)

if (a[i]==b[j])break;

if (j>k)

{

k++;

b[k]=a[i];

}

}

int []c=new int[k+1];

for(i=0;i<=k;i++)c[i]=b[i];

return c;

}

[解析]方法中最后又重新定义一个数组c,是为了确定最终返回的数组的大小。这里不能直接把b数组返回。

试题内容:

编写一个方法f3702(),要求该方法有一个元素类型为整型的数组参数,方法的功能是把参数数组中元素值相同的元素删成只剩一个,经过

删除后会得到一个新数组,方法返回这个新数组。

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

1:参考答案:(P92)相关接口是:ActionListener;注册监视器的方法是:addActionListener(this);在接口中要实现的方法是:

public void actionPerformed(ActionEvent e)。

试题内容:

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

请写出程序处理按钮单击事件时,与按钮动作事件相关的接口,注册监视器的方法及要实现的接口方法。

2:参考答案:(P142)drawPolygon(int x[],int y[],int n):用x、y数组对应的n对元素值作为n个点坐标,画一个多边形

fillPolygon(int x[],int y[],int n) 用x、y数组对应的n对元素值作为n个点坐标,画一个多边形,并对这个多边

形使用setColor()方法设置的颜色进行着色。

试题内容:

写出画多边形的两个常用方法。

3:参考答案:(P193)

(1)客户端使用的套接字类是Socket类。

(2)服务器端使用的套接字类是ServerSocket类。

试题内容:

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

4:参考答案:(P102)

①声明一个文本框名。

②建立一个文本框对象。

③将文本框对象加入到某个容器。

④对需要控制的文本框对象注册监视器,监听文本框的输入结束事件(即输入回车键)。

⑤一个处理文本框事件的方法,完成结截获事件进行判断和处理。

试题内容:

文本框(JTextField)是界面中用于输入和输出一行文本的区域。文本框处理程序的基本内容有哪五个方面?

5:参考答案:(P48)加上public,类外的任何方法都访问它们。加上protected后,对于不是这个类的子类和不在同一包中的别的类来说,不能

访问它们。

[解析](1)首先不论在类的方法名前面和成员变量名前面加上什么访问权限,这个类本身的方法都可以访问它们。(2)在类的方法名前面和成

员变量名前面加上public访问权限,则类外的任何方法也都能访问这些加了public访问权限的方法和成员变量。(3)加上protected受保护访问权限,

则只允许这个类的子类和同一包中的别的类可以访问这些方法和成员变量,对于不是这个类的子类且不在同一包中的类来说,不能访问这些方法和

成员变量。

试题内容:

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

6:参考答案:(P20)while语句、do...while语句、for语句。

试题内容:

在Java语言中,循环语句有哪三种?

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

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

时间:2012-06-02

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

一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内

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

1. 在编写Java applet程序时,若需要对发生事件作出响应和处理,一般需要在程序的开头写上的语句是() (1分)

A:import .*;

B:import .*;

C:import .*;

D:import .*;

2. Java语言约定,显示屏上一个长方形区域为程序绘图区域,坐标原点(0,0)位于整个区域的() (1分)

A:中心

B:左上角

C:右上角

D:自由设定

3. 在Java程序中定义一个类,类中有一个没有访问权限修饰的方法,则此方法() (1分)

A:访问权限默认为是public

B:访问权限默认为是private

C:访问权限默认为是protected

D:以上都不是

4. 在Java 中,能实现多重继承效果的方式是() (1分)

A:内部类

B:适配器

C:接口

D:同步

5. 在Java语言中,密码框组件和设置密码框的回显字符为“*”的方法分别是() (1分)

A:JPassWordField和setEchoChar(?*?)

B:JPasswordField和setEchoChar(?*?)

C:JPassWordField和setEchochar(?*?)

D:JPasswordField和setEchochar(?*?)

6. 使用数据库的SQL命令实现数据库的更新,应利用Statement对象的方法() (1分)

A:update()

B:insert()

C:executeUpdate()

D:delete()

7. 以下程序代码的输出结果是()

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

short i=10,j,k=20;

j=k+i++;

(j); (1分)

A:30

B:31

C:出错

D:11

8. 在Java语言中,移去按钮对象监视器的方法是() (1分)

A:removeListener(ActionListener e)

B:setRemoveEnable(ActionListener e)

C:removeActionListener(ActionListener e)

D:addActionListener(ActionListener e)

9. 下列有关事件监视器的说法正确的是() (1分)

A:一个组件上不可以注册多个事件监视器

B:一个事件监视器可以被注册到多个组件上

C:一个组件上注册多个事件监视器会发生冲突,不会起作用

D:一个组件上注册多个事件监视器,只有最后一个事件监视器会起作用

10. 菜单的事件源是用鼠标点击某个菜单项,ActionListener,要实现的接口方法是actionPerformed(ActionEvent e),获得事件源的方法是

getSource(),处理该事件的接口是() (1分)

A:ActionListener

B:actionPerformed

C:getSource

D:ItemListener

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

1. 当把Java的绘图模式设置为异或模式红色,并对同一个圆用同一个颜色绿色绘制两遍时,则此圆的绘制情况是:。 (2分)

2. 流使用结束后,关闭流并且释放与该流相关的资源,用方法。 (2分)

3. 是一种特殊的方法,这种方法的名字与它的类名相同,并且不返回结果,也不写上void关键字。 (2分)

4. Java语言提供一个Graphics2D类,这个类定义了几种方法用于添加或改变图形的状态属性,其中属性控制线条的宽度、笔形样式、线段连接方式或

短划线图案。 (2分)

5. 在已有类的基础上,扩充属性或扩充与改写某些方法,生成新的类,这个方式称为。 (2分)

6. 在Java语言,使用关键字定义临界段,能对共享对象的操作上锁。 (2分)

7. 在Java程序中,如果有package语句,则此语句必须出现在源程序文件的。

(2分)

8. 采用布局的容器中多个组件拥有同一个显示空间,某一时刻只能显示一个组件。 (2分)

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

9. 在Java语言中,逻辑右移运算符是。 (2分)

10. 在Java语言中,有了SQL语句对象sql后,根据“读取学生成绩表st中的所有记录并存于rs对象中”,定义rs对象的代码是。 (2分)

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

1. 以下程序使字符串“文字的特殊输出效果演示”中的所有文字每隔300毫秒显示一个。

public class Class3101

{

public static void main(String[] args)

{

String s="文字的特殊输出效果演示";

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

{

(ing(i,i+1));

try{;}

catch(){}

}

}

} (2分)

2. 下面小应用程序通过快速显示一组图片(~)造成显示动画的效果。

import .*;

import .*;

public class Class3002 extends Applet implements Runnable

{

final int number=9;

int count=1;

Image[]pic=new Image[number];

Thread myThread;

public void init()

{

setSize(300,200);

for(int i=1;i<=number;i++)

pic[i-1]=;

}

public void start()

{

myThread=new Thread(this);

();

}

public void stop(){myThread=null;}

public void run()

{

精品文档

资料收集于网络 如有侵权请联系网站 删除 谢谢

while(true)

{

repaint();

count=(count+1)%number;

try{(1000);}

catch(InterruptedException e){}

}

}

public void paint(Graphics g)

{

if(pic[count]!=null)

g.(pic[count],10,10,200,200,this);

}

} (2分)

3. 下面的程序在屏幕上显示一个红色窗口,窗口的左上角坐标为(100,200),宽为300像素,高为400像素。

import .*;

import .*;

public class Class2803

{

public static void main(String[] args)

{

JFrame myWin=new JFrame("Class2803");

aultCloseOperation(_ON_CLOSE);//关闭窗口时,整个应用程序关闭。若省略,关闭窗口时程序不终止,相当于setVisible

(false)

myWin.;

Container con=tentPane();

kground();

myWin.;

}

} (2分)

4. 程序运行结果如下图:上边,左边和右边是三个按钮,下边是一个内容为“Class2804”的文本框txt。

import .*;

import .*;

public class Class2804

{

public static void main(String[] args)

{

JFrame myWin=new JFrame("Class2804");

aultCloseOperation(_ON_CLOSE);

nds(100,200,300,200);

精品文档


本文标签: 方法 对象 程序 接口