全国2013年10月高等教育自学考试Java语言程序设计(一)试题课程代码:04747一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。1.在Java语言中,用于标记回车符的转义字符是A.\bB./bC.\nD./n2.设有定义inti=6;,则执行语句“i+=i-1;’’后,i的值为A.10B.11C.12D.133.以下关于抽象类及抽象方法的说法中,不正确...的是A.抽象方法只能出现在抽象类中B.抽象类必须有抽象方法C.有抽象方法的类一定是抽象类D.抽象方法没有实现的代码4.执行下列程序语句后,b的值是Stringa=〃Hello〃;Stringb=a.substring(1,3);A.elB.HeC.ellD.Hel5.能够直接添加组件的Swing容器是A.JFrameB.JDialogC.JWindowDJPanel6.用于判定鼠标右键操作的常量是A.BUTTON1_MASKB.BUTTON2_MASKC.BUTTON3_MASKD.BUTTON4_MASK7.设置异或绘图模式的方法是A.setXORMode()B.setPaintMode()C.XORMode()D.PaintMode()8.用来定义临界段,能对共享对象的操作上锁的关键字是A.staticB.shareC.serializeD.synchronized9.如果一次从文件中读出一行数据,可使用的方法是A.FileReader的readLine()方法B.BufferedReader的readLine()方法C.FileReader的read()方法D.BufferedReader的read()方法10.获取InetAddress对象的IP地址所用到的方法是A.getHostlPAddress()B.getHostlP()C.getHostAddress()D.getHost()二、填空题(本大题共10小题,每空2分,共20分)11.在Java语言中,双精度型变量在内存中占__________个字节。12.在Java语言中,逻辑右移运算符为__________。13.在Java语言中,通过扩展原有的类,声明新类的机制被称为__________。14.已知字节数组b,取由b[i]开始至b[j](其中j≥i≥0)结束的字节字符构造一个字符串s,其语句为:Strings=newString(__________);。15.将容器区域分成东、南、西、北、中五个区域的布局类是__________。16.在构造非强制对话框时,所使用的构造方法是JDialog(f,s,__________),其中f为对话框所依赖的窗口,s为对话框的标题。17.在Java语言中,要播放音频文件可以使用__________类。18.当线程调用resume()方法后,就进入__________状态。19.要使用输入/输出操作的程序,必须要导入__________包。20.在进行数据库访问时,查询结果存放在一个用__________类声明的对象中。三、简答题(本大题共6小题,每小题3分,共18分)21.请写出下面程序段的执行结果。intn=90;intk=2;System.out.print(n+″=〞);while(k=n){if(k==n){System.out.println(n);break;}elseif(n%k==0){System.out.print(k+″*″);n=n/k;)elsek++;}22.为了系统安全,对JavaApplet小应用程序有什么限制?23.请写出声明int类型的二维数组intArr的三种形式。24.请写出在JFrame框架窗口对象中添加组件的步骤。25.请写出使用Graphics2D类声明并创建一个左上角为(20,30)、边长为50的正方形对象square的语句。26.请写出使用纯JavaJDBC驱动程序连接数据库的步骤。四、程序填空题(本大题共5小题,每空2分,共20分)完全代码,使它能正确实现题意的功能。错填、不填均无分。27.一个数如果恰好等于它的因子之和,这个数就称为“完全数”。例如6=1+2+3。方法voidfindPerfectNumber()的功能是找出1000以内的所有完全数。staticvoidfindPerfectNumber(){System.out.println(″1000以内的完全数有:″);for(inti=1;i1000;i++){intt=0;for(intj=1;j=i/2;j++)if(①)t=t+j;if(②)System.out.primt(i+);}}28.某应用程序的类实现了接口ActionListener,在其窗口的内容面板conPane中,有一个标上文字“红色”的按钮对象btn,并正确为该按钮对象注册了监视器。按钮处理程序要实现的功能是当点击这个按钮时,窗口的背景色置为红色,并设置该按钮不再响应事件。publicvoidactionPerformed(ActionEvente){if(e.getActionCommand().equals(红色)){conPane.setBAckground(①);btn.②;}}29.某小应用程序有一个按钮和一个文本区,按钮作为发生键盘事件的事件源,并对它进行监视。程序运行时,先点击按钮,让按钮激活;从键盘输入英文字母时,在文本区显示输入的字母。importjAva.applet.*;importjava.awt.event.*;importjavax.swing.*;publicclassTest29extendsAppletimplementsKeyListener{intcount=0;JButtonbutton=newJButton(BEGIN);JTextAreatextl=newJTextArea(1,10);publicvoidinit(){button.addKeyListener(this);add(textl);①;}publicvoidkeyPressed(KeyEvente){intt=e.getKeyCode();if(t=KeyEvent.VK_A&&t=KeyEvent.VK_Z){text1.append((char)t+);}}publicvoid②(KeyEvente){}publicvoidkeyReleased(KeyEvente){}}30.以下小应用程序获取图像文件bg.jpg并显示。importjava.applet.*;importjava.awt.*;publicclassTest30extendsApplet{lmagemyImg;publicvoidstart(){myImg=getImage(①,bg.jpg¨);}publicvoidpaint(Graphicsg){g.②(myImg,0,0,this);}}31.以下程序段实现简单的线程创建、启动和终止的过程。MyThreadClassmyThread=newMyThreadClass();myThread.①;try{myThread.sleep(10000);}Catch(InterruptedExceptione){}myThread.②;五、程序分析题(本大题共5小题,每小题4分,共20分)32.阅读下列程序,请写出该程序的运行结果。ClassParent{Stringone,two;publicParent(Stringa,Stringb){one=a;two=b;}publicvoidprint(){System.out.println(two+to+one);}}publicclassChildextendsParent{publicChild(Stringa,Stringb){super(a,b);}publicvoidprint(){System.out.println(one+to+two);}publicstaticvoidmain(Stringargs[]){parentp=newParent(south,north);parentt=newChild(east,west);p.print();t.print();}}33.阅读下列程序,请写出该程序的功能。importjava.applet.Applet;importjava.awt.*;publicclassTest33extendsApplet{publicvoidpaint(Graphicsg){for(inti=0;i6;i++)drawGraphics(I,g);}publicvoiddrawGraphics(intn,Graphicsg){g.clearRect(10,10,300,300);switch(n){case0:case3:g.setColor(Color.red);g.drawRect(50,50,150,150);break;case1:case4:g.setColor(Color.blue);g.drawOval(40,40,160,160);break;case2:case5:g.setColor(Color.green);g.fillRect(50,50,200,200);break;}try{Thread.sleep(1500);}catch(ImerruptedExceptione){System.exit(0);}}}34.阅读下列程序,请写出该程序的功能。importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassTest34{publicstaticvoidmain(String[]args){ComboBoxDemomyComboBoxGUI=newComboBoxDemo();}}ClassComboBoxDemoextendsJFrameimplememsItemListener{StringCountryList[]={美国,中国,英国,俄罗斯,韩国,德国};imGoldMedalNumber[]={46,38,29,24,13,11};JLabellabel;JComboBoxCombobox;PublicComboBoxDemo(){setSize(350,150);setTitle(第三十届伦敦奥运会金牌查询);ComainerconPane=getContentPane();conPane.setLayout(newFlowLayout());combobox=newJComboBox(CountryList);combobox.addItemListener(this);conPane.add(combobox);label=newJLabel();conPane.add(1abel);this.setVisible(true);}publicvoiditemStateChanged(ItemEveme){if(e.getSource()==combobox)label.setText(String.valueOf(GoldMedalNumber[combobox.getSelectedIndex()]));}}35.阅读下列程序,请回答下面的问题:(1)两个文本区内分别每次追加何种字符?有多少个?(2)两个文本区里面内容的显示速度有何区别?importiava.awt.*;importjava.applet.*;importjavax.swing.*;publicclassTest35extendsApplet{JTextArea1Text,rText;publicvoidinit(){setSize(600,500);setLayout(null);1Text=newJTextArea(