谁能给我发一个全国计算机考试的JAVA真题?笔测试题
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){