全国高等教育自学考试Java语言程序设计一试题.docx
《全国高等教育自学考试Java语言程序设计一试题.docx》由会员分享,可在线阅读,更多相关《全国高等教育自学考试Java语言程序设计一试题.docx(13页珍藏版)》请在冰豆网上搜索。
全国高等教育自学考试Java语言程序设计一试题
2010年10月全国高等教育自学考试Java语言程序设计
(一)试题
课程代码:
04747
一、单项选择题(本大题共10小题,每小题1分,共10分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.以下是关于Java语言关键字的叙述,其中正确的是()
A.关键字可以用来描述类的成员类型,但是不能描述普通变量
B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成
C.关键字不可以用作变量、方法、类或标号的标识符
D.break和main都是Java语言的关键字
2.执行以下代码,输出结果是()
intx=5,y=7,u=9,v=6;
System.out.println(x>y?
x+2:
u>v?
u-3:
v+2);
A.8B.6
C.7D.true
3.Java语言中,只限子类或者同一包中的类的方法能访问的访问权限是()
A.publicB.private
C.protectedD.<无修饰>
4.设有数组定义int[][]x={{1,2},{3,4,5},{6},{}};,则x.length的值为()
A.3B.4
C.6D.7
5.在以下Swing的类中,属于容器的是()
A.JAppletB.JButton
C.JTextAreaD.JMenu
6.在以下供选择的方法中,属于接口MouseMotionListener的方法是()
A.mouseReleased()B.mouseEntered()
C.mouseExited()D.mouseMoved()
7.小程序要播放音频文件,可使用类()
A.AudioB.JAudio
C.AudioClipD.JAudioClip
8.以下是关于线程的叙述,正确的是()
A.多线程的使用可以提高设备的平行工作能力,但是使系统管理变得复杂
B.同一个进程下的线程都有自己的状态、专用数据段和独立的内存资源
C.线程是能独立运行的程序
D.进程的执行效率比线程的执行效率高
9.在Java的类库中,包含实现输入/输出操作的包是()
A.java.utilB.java.io
C.java.appletD.java.awt
10.在编写访问数据库的Java程序时,ResultSet对象的作用是()
A.建立新数据库连接B.用来表示与数据库的连接
C.在指定的连接中处理SQL语句D.存储查询结果
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。
错填、不填均无分。
11.Java语言采用多种机制来保证可移植性,其中最主要的是______。
12.程序包声明的格式是______。
13.当联编推迟至运行时间实现时,该联编过程称为______。
14.使用默认字节字符对应表,将字符串转化为字节数组的方法是______。
15.在Swing中,带有滚动条的面板的类名是______。
16.组合框(JComboBox)是______的组合。
17.在某个组件中绘图,一般应该为这个组件所属的子类重写______方法。
18.多线程互斥使用______的程序段,在操作系统中称为临界段。
19.在Java语言中,文件随机访问可以利用______类实现。
20.Java程序可以用纯Java的______驱动程序,实现与数据库连接。
三、简答题(本大题共6小题,每小题3分,共18分)
21.请使用for循环语句计算S=1+
的值。
22.请写出Applet类中init()方法的功能。
23.请写出空布局安置组件的两个步骤。
24.在Swing中,对话框有几种?
并请写出它们的主要区别。
25.请写出用Runnable接口实现多线程的主要工作。
26.请写出用InetAddress类,获取网址为“”的IP地址的Java语句。
四、程序填空题(本大题共5小题,每空2分,共20分)
27.方法booleanisPrime(intn)的功能是判断正整数n(n>1)是否为质数。
staticbooleanisPrime(intn){
inti;
if(n==2)returntrue;
if(n%2==0)returnfalse;
for(i=3;i*i<=n;i+=2)
if(_________)break;
if(_________)returntrue;
returnfalse;
}
28.某小应用程序窗口中有一个文本框,一个8行10列的文本区以及一个按钮,点击这个按钮时,在文本框中输入的内容会追加到文本区中。
importjava.applet.*;importjavax.swing.*;importjava,awt.event.*;
publicclassTextAPPextendsAppletimplementsActionListener{
JTextFieldinput;JTextAreadisplay;JButtonappend;
publicvoidinit(){
input=newJTextField(10);
display=new;
append=newJButton("追加");
add(input);add(display);add(append);
input.requestFocus();display.setLineWrap(true);
append.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente),{
display.(input.getText()+"");
}
}
29.某小应用程序有一个由3个单选按钮组成的颜色选择组,当选中某种颜色时,窗口的背景颜色将作相应的变化。
这里给出的是窗口子类MyWindow的定义的框架以及其构造函数的定义。
classMyWindowextendsJFrameimplements{
…
MyWindow(Strings){
super(s);
Containercon=this.getContentPane();
con.setLayout(newGridLayout(3,2));
this.setLocation(100,100);this.setSize(400,400);
panel1=newPanell();
labell=newJLabel("改变前景颜色",JLabel.CENTER);
con.add(label1);con.;
panel1.box1.addltemListener(this);
panel1.box2.addItemListener(this);
panel1.box3.addItemListener(this);
this.setVisible(true);this.pack();
}
…
}
30.某小应用程序的界面有两个按钮,点击“画圆”按钮,程序在窗口画一个圆,点击“画矩形”按钮,程序在窗口画一个矩形。
importjava.applet.*;importjava.awt.*;
importjava.awt.event.*;importjavax.swing.*;
publicclassClasslextendsAppletimplementsActionListener{
booleanc=false;intr=50,a=50,b=50;
JButtonbl,b2;
publicvoidinit(){
setSize(200,200);setBackground(Color.blue);
b1=newJButton("画圆");b2=newJButton("画矩形");
b1.addActionListener(this);b2.addActionListener(this);
add(b1);add(b2);setVisible(true);
}
publicvoid(Graphicsg){
g.clearRect(70,100,130,200);
g.setColor(Color.red);
if(c)g.drawRoundRect(70,100,r,r,r,r);
elseg.drawRect(70,100,a,b);
}
publicvoidupdate(Graphicsg){paint(g);}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==b1){c=true;}
elseif(e.getSource()==b2){c=false;}
;
}
}
31.某按钮的监视器方法actionPerformed()实现将文本区中的内容写入到文本文件myText.txt中。
publicvoidactionPerformed(ActionEvente){
try{
intn=txtFld.getText().length();
bytebuffer[]=newbyte[n];
buffer=txtFid.getText().getBytes();
FileOutputStreamwf=new("myText.txt");
wf.write(buffer,0,n);
;
}catch(IOExceptionioe){txtFld.setText(ioe.toString());}
}
}
五、程序分析题(本大题共5小题,每小题4分,共20分)
32.阅读下列程序,请写出该程序的输出结果。
publicclassA{
intm=5;staticintn=3;
publicstaticvoidmain(String[]args){
Aobj1=newA();Aobj2=newA();
objl.m*=2;objl.n*=4;obj2.m+=1;obj2.n+=6;
System.out.println("obj1.m=''+obj1.m);
System.out.println("obj1.n="+obj1.n);
System.out.println("obj2.m="+obj2.m);
System.out.println("obj2.n="+obj2.n);
}
}
33.阅读下列程序,请写出该程序的输出结果。
classTest33{
staticintmerger(int[]a,int[]b,int[]c){
inti=0,j=0,k=0;
while(iif(a[i]
}
while(iwhile(jreturnk;
}
publicstaticvoidmain(String[]args){
inta[]={3,6,9};intb[]={1,2,5};
int[]c=newint[100];intp=merger(a,b,c);
for(intk=0;k
System.out.print(c[k]+(k"":
"\n"));
}
}
34.阅读下列程序,请写出该程序的功能。
importjava.awt.*;importjavax.swing.*;
importjava.applet.*;importjava.awt.event.*;
publicclassClasslextendsAppletimplementsActionListener{
JTextFieldTextI=newJTextField(5);
JTextFieldText2=newJTextField(5);
JTextFieldText3=newJTextField(5);
JLabelLabel1=newJLabel("Pleaseinputthreenumbers:
");
JLabelLabel2=newJLabel("");
JButtonbut=newJButton("Start!
");
publicvoidinit(){
setLayout(newGridLayout(6,1));add(Label1);
add(Textl);add(Text2);add(Text3);
add(but);add(Label2);
Label2.setFont(newFont("Courier",1,20));
but.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente){
inta,b,c;
a=Integer.parseInt(Text1.getText());
b=Integer.parselnt(Text2.getText());
c=Integer.parselnt(Text3.getText());
if(a+bLabel2.setForeground(Color.red);
Label2.setFont(newFont("Courier",1,24));
Label2.setText("No.");
}else{
Label2.setForeground(Color.blue);
Label2.setFont(newFont("Courier",2,24));
Label2.setText("Yes.");
}
}
}
35.阅读下列程序,请写出该程序的功能。
importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;
classMyScrollBarextendsJScrollBar{
publicMyScrollBar(intinit,intlen,intlow,inthigh){
super(JScrollBar.HORIZONTAL,init,len,low,high);
}
publicDimensiongetPreferredSize(){
returnnewDimension(125,20);
}
}
classMyWindowextendsJFrameimplementsAdjustmentListener{
privateJTextFieldtext;
MyWindow(Strings){
super(s);
MyScrollBartempBar=newMyScrollBar(l0,10,0,255);
Containercon=this.getContentPane();
con.setLayout(newGridLayout(2,1));
this.setSize(250,100);this.setLocation(100,100);
tempBar.addAdjustmentListener(this);
text=newJTextField("移动滚动条的滑块",20);
con.add(text);con.add(tempBar);this.setVisible(true);this.pack();
}
publicvoidadjustmentValueChanged(AdjustmentEvente){
MyScrollBarmyBar=(MyScrO11Bar)e.getAdjustable();
text.setText("选择的值是:
"+myBar.getValue());
}
}
publicclassTest35{
publicstaticvoidmain(String[]args){newMyWindow("滚动条示意程序");}
}
36.阅读下列程序,请写出该程序的功能。
importjavautil.*;
classMyThreadextendsThread{
intpauseTime;Stringname;
publicMyThread(intx,Stringn){pauseTime=x;name=n;}
publicvoidrun(){
for(inti=1;i<=4;i++){
try{
System.out.println(name+":
"+newDate(System.currentTimeMillis()));
Thread.sleep(pauseTime);
}catch(Exceptione){}
}
}
}
publicclassTest36{
staticpublicvoidmain(String[]args){
MyThreadthread1=newMyThread(1000,"FastThread");thread1.start();
MyThreadthread2=newMyThread(3000,"SlowThread");thread2.start();
}
}
六、程序设计题(本大题共2小题,每小题6分,共12分)
37.请编写方法intcountNum(Stringstr),该方法的功能是统计已知字符串str中数字的个数。
例如,countNum("A42B83C2D")的返回值是5。
38.一个小应用程序,界面如下图所示,其功能为实现摄氏温度和华氏温度的相互转换。
以下是程序的大部分,请编写其中的监视器方法。
注:
华氏温度(F)=摄氏温度(C)×9/5+32
importjava.applet.*;importjavax.swing.*;
importjava.awt.event.*;
publicclasstest38extendsAppletimplements
ActionListener{
JTextFieldtextl,text2;
JButtonc2f,f2c;
publicvoidinit(){
textl=newJTextField(5);text2=newJTextField(5);
c2f=newJButton("摄氏转换为华氏");
f2c=newJButton("华氏转换为摄氏");
add(text1);add(text2);add(c2f);add(f2c);
text1.requestFocus();
c2f.addActionListener(this);f2c.addActionListener((this);
}
publicvoidactionPerformed(ActionEvente){
//请在以下位置编写代码
}
}