谁能给我发一个全国计算机考试的JAVA真题?笔测试题

Java是一种很好的面向对象语言。这是2008年的试题。你可以在网上练习一套更完整的问题。

Java语言程序设计全国统考2008年6月5438+00(1)

课程代码:04747

一、选择题(此大题为* * 10小题,每道小题为1分,***10分)

每个问题所列的四个选项中,只有一个符合题目要求。请在题目后的括号内填写其代码。错选、多选或不选都不计分。

1.下列字符组合不能用作Java程序标识符()。

A.aa12b .大x

C.y小D.5x

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

int x = 53

系统。出去。println(1.0+x/2);

A.27.0 B.27.5

C.1.026

3.参考下面的Java代码,下面四个语句中最准确的是()

A级

int x;静态int y;

void fac(strings){ syatem . out . println(" string:"+s);}

}

A.x,y,s都是成员变量。

B.x是实例变量,y是类变量,s是局部变量。

C.x和y是实例变量,s是参数。

D.x,y,s都是实例变量。

4.你需要分析字符串,把它分解成可以独立使用的单词。java中的类。可以使用util包。

( )

A.字符串B .字符串缓冲区

C.斯特林·托肯泽

5.要为程序的子窗口设置由字符串S指定的名称,可以使用的代码是()。

A.JFrame b .窗口

c .新JFrame d . super

6.下列关于菜单的描述中,正确的是()

A.菜单分为三个级别。最高层是菜单栏,菜单放在那里,菜单项放在那里。

B.菜单分三层定义,最高层是菜单,菜单栏放在菜单里,菜单项放在菜单栏里。

C.菜单分两层定义,最高层是菜单,菜单项放在菜单里。

d菜单分两层定义,最高层是菜单栏,菜单项放在菜单栏中。

7.以下内容都是字体元素()

A.字体、字形和大小

C.字体、样式和字号d .字体、颜色和字号

8.用Thread子类实现多线程的步骤顺序是()

A.声明一个Thread类的子类,创建一个Thread子类的实例,让线程调用start()方法。

B.声明一个Thread类的子类,在子类中重定义run()方法,创建一个Thread子类的实例。

C.创建一个Thread子类的实例,让线程调用start()方法。

d .声明一个Thread类的子类,在子类中重定义run()方法,创建一个Thread子类的实例,让线程调用start()方法。

9.支持读写16位Unicode字符流的类分别是()。

A.fileinputstream类和FileOutputStream类

B.InputStream类和OutputStream类

C.filereader类和FileWriter类

D.文件读取器类和文件写入器类

10.可以使用对象提供的方法获取流对象并实现网络连接的是()。

A.URL连接对象B. URL对象

C.对象D. TCP/IP对象

二、填空(本大题* * 10小题,每小题2分,***20分)

请在每个问题的空白处填写正确答案。填错或没填都不得分。

11.applet必须定义为_ _ _ _ _ _ _ _ _。

12.用条件运算符构造一个表达式:当目标等于10时,表达式的值为“对!”否则,表达式的值为“错误!”。这个表达是_ _ _ _ _ _ _ _ _。

13.类是一组相同对象的描述,它总结了相似对象的* * *属性:_ _ _ _ _ _ _ _ _。

14.数组A和B定义如下:

int[]a={1,2,3 };int[]b={4,5,6}

……

执行下面的代码“A = B;”,除了完成赋值操作外,导致系统做额外工作的是_ _ _ _ _ _ _ _ _。

15._ _ _ _ _ _ _布局使容器的多个组件具有相同的显示空间,一次只能显示一个组件。

16.Java语言提供了两个处理鼠标事件的接口:_ _ _ _ _ _ _ _接口和MouseMotionListener接口。

17.一种绘图方法被设置为XOR模式,黄色被用作由XOR模式设置的绘图颜色。如果当时背景色是红色,线段是用红色画的,那么线段的实际颜色是_ _ _ _ _ _ _ _。

18.程序员用Java语言编写多线程应用程序。程序员可以控制的关键任务有两个:一个是编写线程的_ _ _ _ _ _ _ _ _方法;二是建立线程实例。

19.BufferedWriter类是一个提供缓冲输出的类。程序需要先创建_ _ _ _ _ _ _ _ _对象,然后用这个对象创建BufferedWriter对象。

20.在Java语言中,客户端使用的套接字类是_ _ _ _ _ _ _ _。

三、简答题(本大题***6小题,每小题3分,***18分)

21.请写一个Java表达式,表示“x=2,y=3中有且仅有一个成立”的条件。

22.如果Class Student是Class Person的子类,Class本科生是Class Student的子类,请指出下面哪一行是非法的。

person p 1 =新生();

Person p2 =新本科();

学生s 1 =新人();

学生s2 =新本科生();

本科ug 1 =新人();

本科ug2 =新生();

Object ob =新生();

23.请写出程序处理文本框输入(enter)结束事件添加监视器的方法,以及监视器类必须实现的接口方法。

24.请写一条语句,能从点(20,30)开始画一条长100像素的水平线段。设被调用的对象是G类型的图形。

25.如果一个Java程序要使用文件iostream,请编写程序所需的import语句。

26.JDBC是一个连接Java程序和数据库的API。请写出JDBC能做的三件事。

四、填空(本大题***5小题,每空2分,***20分)

27.int maxDigit(int n)方法的作用是找出每个十进制整数n的最大位数,比如n=23765,这个方法的返回值是7。

静态int maxDigit(int n){

int c=0,d;

while(n>0){

d = _ _ _ _ _ _ _

如果(d > c)c = d;

n/= 10;

}

________;

}

28.程序的界面包括一个文本区text1,一个文本框text2和一个按钮。在文本区输入整数序列后,点击按钮,程序会响应按钮事件,累加文本区输入的整数序列,在文本框中输出和。下面是相应按钮事件的方法。

public void action performed(action event e){

int sum

if(e.getSource()==button){

字符串s=text1。________;//获取text1中的信息

string tokenizer fenxi = new string tokenizer(s,",,,\ n ");

int n = fenxi . count tokens();

double a[]= new double[n];

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

string temp = fenxi . nexttoken();

a[i]=Double.valueOf(temp)。double value();

}

sum = 0;

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

__________;

}

text 2 . settext("+sum);//刷新显示。

}

}

29.下面是用于生成菜单项对象和处理菜单项选择事件的部分代码。当菜单项singingItem被选中时,要求输出“Singing菜单项被选中!”的话。

……

singing item = new _ _ _ _ _ _ _ _ _ _ _ _ _ _ _(“唱歌”);//生成菜单项对象

……

public void action performed(action event e){

if(e.getSource()==singingItem)

Text.settext (e. _ _ _ _ _ _ ()+"菜单项被选中!");

}

30.一个小应用程序实现幻灯片放映。applet的init()方法将幻灯片读入数组,以存储和注册鼠标监视器。当程序运行时,点击鼠标依次改变幻灯片放映的序号。下面是paint()方法和mousePressed()方法。

最终int数= 30;//假设有30张幻灯片。

int count = 0;

Image[]pic =新图像[编号];

公共空白油漆(_ _ _ _ _ _ _ _ GC){

if((pic[count])!=空)

gc.drawImage(pic[count],10,10,pic[count]。getWidth(this),

pic[计数]。getHeight(this),this);

}

public void mouse pressed(mouse event e){

count =(count+1)% number;//逐个循环显示

__________;

}

31.下面定义的shareDataManager类用于管理多线程共享的数据。一些线程想要减少数据,而另一些线程想要增加数据。由于数据不能是负数,修改数据的方法不仅互斥,而且对于这些线程是同步的。类提供了一个方法modiData()供修改数据的线程调用,在数据修改完成后,该方法会通知其他等待进入该方法的线程。

类ShareDataManager{

int data = 0;

_ _ _ _ _ _ _ _ void modiData(int delta){

if(增量> =0){

data+= delta;

}否则{

while(数据<增量){

试试{System.out.println ("waiting!");

wait();

}catch(中断异常e){ }

}

data-= delta;

}

_________;

}

ShareDataManager(int ititData){ data = initData;}

}

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

32.阅读下面的程序,并请写出程序的输出。

导入Java . applet . *;导入Java . awt . *;

类点{

int x,y;

Point(int xx,int YY){ x = xx;y = yy}

点(点p){ x = p . x;y = p.y}

void m(int dx,int dy){ x+= dx;y+= dy;}

}

类圆延伸点{

int r;

circle(p点,int RR){ super(p);r = rr}

float c(){ return 3.14f * 2.0f * r;}

float a(){ return 3.14f * r * r;}

}

公共类示例扩展子视图{

圈袁;d点;

public void init() {d=new Point(2,5);元=新圆(d,10);}

公共空白油漆(图形g){

g . drawstring(" yuan Circle "+(int)(yuan . c()* 100.0)/100.0,5,20);

g . drawstring(" yuan Area "+(int)(yuan . a()* 100.0)/100.0,5,40);

}

}

33.阅读下面的程序,并写出它的功能。

导入java。util。*;

公共类Class1{

公共静态void main(Srting args[]){

Date Date 1 =新日期();

系统。出去。println(datel);

string t = datel . tostring();

int endPos = t . index of(' C ');

t=t.substring(11,endPos);

系统。out println(t);

}

}

34.阅读下面的程序,请写出程序的功能。

导入Java . applet . *;导入javax . swing . *;导入Java . awt . event . *;

公共类l类扩展Applet实现ActionListener{

JTextField text1,text2

public void init(){

text 1 = new JTextField(10);text 2 = new JTextField(10);

setSize(200,100);add(text 1);add(text 2);

text 1 . addactionlistener(this);

}

公共无效操作已执行(操作事件e){

龙n;

if(e . getsource()= = text 1){

n = long . parse long(text 1 . gettext());

text 2 . settext(string . value of(n * n));

}

}

}

35.阅读下面的程序,请写出程序的功能。

导入javax . swing . *;导入Java . awt . *;导入Java . awt . event . *;

类MyScrollBar扩展JscrollBar{

public MyScrollBar(int init,int len,int low,int high){

超级(JScrollBar。水平、初始、透镜、低、高);

}

}

MyWindow类扩展JFrame实现AdjustmentListener{

私有JTextField文本;

我的窗口(字符串)

超级用户;

my scroll bar my bar = new my scroll bar(10,10,0,255);

集装箱con =这个。getContentPane();

con. setLayout(new GridLayout(2,1));

这个。setSize(200,100);

这个。setLocation(100,100);

mybar . addadjustmentlistener(this);

text=new JTextField(",20);

con. add(文本);con . add(myBar);

this . set visible(true);

}

public void adjustment value changed(adjustment event e){

MyScrollBar myBar =(MyScrollBar)e . getadjustable();

text . settext("+mybar . getvalue());

}

}

公共类Class1{

公共静态void main(String[]args){

my window my window = new my window(" text 5 _ 4 ");

}

}

36.applet创建一个线程。该示例使用容器类方法getGraphics()来获取图形对象,并将其用作线程的画笔。请写下本程序中该线程的工作内容。

导入Java . applet . *;导入Java . awt . *;

公共类Class1扩展java.applet.Applet实现Runnable{

线程红球;图形红笔;

int rx=0,ry = 0;

public void init(){

setSize(250,200);

红球=新线程(this);

red pen = get graphics();

红笔。set color(color . red);

set background(color . gray);

}

public void start(){ red ball . start();}

公共无效运行(){

while(true){

if(thread . current thread()= = red ball){

rx =(int)(80 * math . random());

ry =(int)(80 * math . random());

红色pen . set color(color . red);

红笔. fillOval(100+rx,100+ry,10,10);

试试{ red ball . sleep(500);}

catch(InterruptedException e){}

red pen . set color(color . gray);

redPen.fillOval(100+rx,100+ry,10,10);

}

}

}

}

不及物动词编程题(此大题为***2小题,每小题6分,***12分)

37.写一个方法halfArray(),要求方法有一个元素类型为int的数组参数,方法返回一个新数组,长度与参数数组相同,新数组元素的值是参数数组每个元素的值的一半。

38.一个Java小程序,界面有三个文本框和两个按钮,前两个文本框用来输入整数,第三个文本框用来输出结果。这两个按钮分别代表加法和减法运算。在当前两个文本框中输入整数后,单击相应的按钮,程序将在第三个文本框中输出计算结果。下面是大部分程序,其中没有给出监控按钮事件的方法。尝试编写一个方法来处理按钮事件。

注意:这是程序的给定部分。你要写的是actionPerformed(ActionEvent e)方法。

导入Java . applet . *;导入javax . swing . *;

导入Java . awt . *;导入Java . awt . event . *;

类面板1扩展JPanel{

JTextField text1,text2,text3JButton addButton,subButton

Panel1(){

text 1 = new JTextField(10);text 2 = new JTextField(10);

text 3 = new JTextField(10);setLayout(new GridLayout(5,1));

add button = new JButton(" add ");sub button = new JButton(" MINUS ");

add(text 1);add(text 2);

add(text 3);add(add button);添加(子按钮);

}

}

公共类class 1扩展Applet实现ActionListener{

Pane1面板;

public void init(){

setSize(100,200);panel = new panel 1();添加(面板);

(panel.addButton)。addActionListener(this);

(panel . sub按钮)。addActionListener(this);

}

public void action performed(action event e){