第1页共3页课程名称:JAVA程序设计(B卷闭卷)适用专业年级:软件工程08级考试时间:100分钟题号一二三四五六七八九十总分统分人签名题分162415121815100得分考生注意事项:1、本试卷共3页,试卷如有缺页或破损,请立即举手报告以便更换。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。(答案请写在答卷纸正面,否则不记分)一、判断正误,如果错误请说明理由(每题4分,共16分)1、Applet有Main()函数,可以单独运行。2、Java面向对象开发中重载和覆盖发生在同一个类中的同名方法。3、Swing组件一般使用自己的事件处理模型。4、Java中引入LayoutManager纯粹是为了程序界面美观。二、问答题(每题6分,共24分)1、在一个类中,如果局部变量、实例变量和其父类的变量同名,如何加以区分?2、在Java的网络编程中,怎样使服务器为多个客户服务?3、Java的访问控制符public、protected和private有何区别?4、简要说明Java通过哪两种方式实现多线程操作,他们有什么主要区别?三、改错题(每题5分,共15分)1、指出并改正定义并实现接口时发生的错误。interfaceMyInterface{voidmethod(){System.out.println(“Iamainterface!”);}}publicclassTestInterfaceimplementsMyInterface{publicvoidmethod(){System.out.println(“Iamimplementednow!”);}}2、指出并改正程序中进行异常处理时发生的错误。publicstaticvoidmain(Stringargs[]){inta[3];try{a[3]=10;...//其他语句}catch(Exceptionee){System.out.println(ee.toString());}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(e.toString());}}3、指出并改正下列程序中的语法错误。publicclassTest{publicstaticvoidmain(String[]args){nPrintln(WelcometoJava!,5);}publicstaticvoidnPrintln(Stringmessage,intn){intn=5;for(inti=0;in;i++)System.out.println(message);}}四、程序填空题(每空2分,共12分)1、使用字节流访问URL资源(1);//导入网络功能包importjava.io.*;湖南工业大学考试试卷纸系(院)课程名称班级姓名学号密封线第2页共3页publicclassURL2{Stringd;publicstaticvoidmain(Stringargs[]){Stringurlname=(args.length0)urlname=args[0];newURL2().display(urlname);}publicvoiddisplay(Stringurlname){try{(2);//创建一个URL对象,对象名为urlInputStreamReaderin=newInputStreamReader(url.openStream());BufferedReaderbr=newBufferedReader(in);Stringaline;while((3))//从流中读取一行显示{System.out.println(aline);}}catch(MalformedURLExceptionmurle){System.out.println(murle);}catch(IOExceptionioe){System.out.println(ioe);}}2、创建线程打印整数1到100并运行。classPrintNumextends(4)//定义一个线程类{privateintlastNum;//Constructathreadforprint1,2,...ipublicPrintNum(intn){lastNum=n;}publicvoidrun(){for(inti=1;i=lastNum;i++)(5);//在屏幕上输出数字}}//实现线程publicclassTestThread{publicstaticvoidmain(String[]args)//Mainmethod{//CreatethreadsPrintNumprint100=newPrintNum(100);(6)//启动线程print100}}五、程序分析题(每题6分,共18分)1、写出下列程序完成的功能及其输出结果。importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){ABs=newAB(Hello!,IloveJAVA.);System.out.println(s.toString());}}classAB{Strings1;Strings2;AB(Stringstr1,Stringstr2){s1=str1;s2=str2;}publicStringtoString(){returns1+s2;}}湖南工业大学考试试卷纸系(院)课程名称班级姓名学号密封线湖南工业大学考试答卷纸系(院)课程名称班级姓名学号密封线2、如果用参数a=4、b=0调用下面方法,执行结果是多少?给出得到该结果的理由。publicvoiddivide(inta,intb){try{intc=a/b;System.out.print(结果是+c);}catch(Exceptione){System.out.print(除操作异常);}finally{System.out.println(结束操作);}}3、分析程序,回答下列的问题:importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassTestextendsJFrameimplementsActionListener{JButtonjbtOK;publicTest(){jbtOK=newJButton(OK);getContentPane().add(jbtOK);jbtOK.addActionListener(this);}publicstaticvoidmain(String[]args){Testtest=newTest();test.setSize(400,300);test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);test.setVisible(true);}publicvoidactionPerformed(ActionEvente){if(e.getSource()==jbtOK){System.out.println(OKbuttonisclicked);}}}(1)语句publicclassTestextendsJFrameimplementsActionListener的作用?(2)语句getContentPane().add(jbtOK)的作用?(3)上述程序实现的功能是什么?六、编程题(1题7分,2题8分,共15分)1、编程统计100~1000间素数的个数。2、请完成Rectangle类的构造函数和其他方法。publicclassRectangle{protecteddoubleheight,width;publicRectangle(doubleheight,doublewidth)//构造函数{}publicdoublegetHeight()//返回矩形的高{}publicvoidsetHeight(doubleheight)//设置矩形的高{}publicdoublegetWidth()//返回矩形的宽{}publicvoidsetWidth(doublewidth)//设置矩形的宽{}publicdoublefindArea()//求矩形的面积{}publicdoublefindPerimeter()//求矩形的周长{}publicstaticvoidmain(String[]args){Cylindercylinder=newCylinder(3,6);//输出圆矩体的体积和面积}}湖南工业大学考试试卷纸系(院)课程名称班级姓名学号密封线第3页共3页