自考Java语言程序设计一试题36027文档格式.docx
《自考Java语言程序设计一试题36027文档格式.docx》由会员分享,可在线阅读,更多相关《自考Java语言程序设计一试题36027文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
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)。
obj1.n="
+obj1.n)。
obj2.m="
+obj2.m)。
obj2.n="
+obj2.n)。
33.阅读下列程序,请写出该程序的输出结果。
classTest33{
staticintmerger(int[]a,int[]b,int[]c){
inti=0,j=0,k=0。
while(i<
a.length&
&
j<
b.length){
if(a[i]<
b[j])c[k++]=a[i++]。
elsec[k++]=b[j++]。
a.length)c[k++]=a[i++]。
while(j<
b.length)c[k++]=b[j++]。
returnk。
inta[]={3,6,9}。
intb[]={1,2,5}。
int[]c=newint[100]。
intp=merger(a,b,c)。
for(intk=0。
k<
p。
k++)
System.out.print(c[k]+(k<
p-1?
:
"
\n"
))。
34.阅读下列程序,请写出该程序的功能。
importjava.awt.*。
importjava.awt.event.*。
publicclassClasslextendsAppletimplementsActionListener{
JTextFieldTextI=newJTextField(5)。
JTextFieldText2=newJTextField(5)。
JTextFieldText3=newJTextField(5)。
JLabelLabel1=newJLabel("
Pleaseinputthreenumbers:
JLabelLabel2=newJLabel("
JButtonbut=newJButton("
Start!
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)。
inta,b,c。
a=Integer.parseInt(Text1.getText())。
b=Integer.parselnt(Text2.getText())。
c=Integer.parselnt(Text3.getText())。
if(a+b<
c||b+c<
a||c+a<
b){
Label2.setForeground(Color.red)。
Courier"
1,24))。
Label2.setText("
No."
}else{
Label2.setForeground(Color.blue)。
2,24))。
Yes."
35.阅读下列程序,请写出该程序的功能。
classMyScrollBarextendsJScrollBar{
publicMyScrollBar(intinit,intlen,intlow,inthigh){
super(JScrollBar.HORIZONTAL,init,len,low,high)。
publicDimensiongetPreferredSize(){
returnnewDimension(125,20)。
classMyWindowextendsJFrameimplementsAdjustmentListener{
privateJTextFieldtext。
MyWindow(Strings){
MyScrollBartempBar=newMyScrollBar(l0,10,0,255)。
con.setLayout(newGridLayout(2,1))。
this.setSize(250,100)。
tempBar.addAdjustmentListener(this)。
text=newJTextField("
移动滚动条的滑块"
20)。
con.add(text)。
con.add(tempBar)。
this.setVisible(true)。
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++){
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
publicclasstest38extendsAppletimplements
ActionListener{
JTextFieldtextl,text2。
JButtonc2f,f2c。
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){
//请在以下位置编写代码
版权申明
本文部分内容,包括文字、图片、以及设计等在网上搜集整理。
版权为潘宏亮个人所有
Thisarticleincludessomeparts,includingtext,pictures,anddesign.CopyrightisPanHongliang'
spersonalownership.
用户可将本文的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面许可,并支付报酬。
Usersmayusethecontentsorservicesofthisarticleforpersonalstudy,researchorappreciation,andothernon-commercialornon-profitpurposes,butatthesametime,theyshallabidebytheprovisionsofcopyrightlawandotherrelevantlaws,andshallnotinfringeuponthelegitimaterightsofthiswebsiteanditsrelevantobligees.Inaddition,whenanycontentorserviceofthisarticleisusedforotherpurposes,writtenpermissionandremunerationshallbeobtainedfromthepersonconcernedandtherelevantobligee.
转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任。
Reproductionorquotationofthecontentofthisarticlemustbereasonableandgood-faithcitationfortheuseofnewsorinformativepublicfreeinformation.Itshallnotmisinterpretormodifytheoriginalintentionofthecontentofthisarticle,andshallbearlegalliability