2013年4月考试Java程序设计第三次作业一、程序阅读题(本大题共30分,共5小题,每小题6分)1.publicclassQ{publicstaticvoidmain(Stringargs[]){inti,j;intintArray[]={30,1,-9,70,25};intl=intArray.length;for(i=l;il;i++)for(j=0;j=l-i-l;j++){intt=intArray[j];intArray[j]=intArray[j+l];intArray[j+l]=t;}for(i=0;il;i++)System.out.println(intArray[i]+);}}2.请写下程序的输出结果:3.写出下面程序的运行结果.importjavio.*;classBase{publicstaticvoidamethod()throwsFileNotFoundException{}}publicclassExcepDemoextendsBase{publicstaticvoidmain(Stringargv[]){ExcepDemoe=newExcepDemo();}publicbooleanamethod(inti){try{DataInputStreamdin=newDataInputStream(System.in);System.out.println(Pausing);din.readChar();System.out.println(Continuing);this.amethod();returntrue;}catch(IOExceptionioe){}finally{System.out.println(Doingfinally);}returnfalse;}ExcepDemo(){amethod(99);}}4.publicclassWaiter{intvar;Waiter(doublevar){this.var=(int)var;}Waiter(intvar){this(Welcome);}Waiter(Strings){this();System.out.println(s);}Waiter(){System.out.println(Good-bye);}publicstaticvoidmain(String[]args){Waitert=newWaiter(1);}}5.publicclassturnString{publicstaticvoidmain(Stringargs[]){Strings=”javalesson”;for(inti=s.length()-1;i=0;i--)System.out.print(s.charAt(i));System.out.println();}}二、简答题(本大题共30分,共5小题,每小题6分)1.数据报通信和流式通信的区别是什么?2.如何构造一个线程(两种方法)?3.小应用程序(applet)到底与应用程序(application)有何不同?4.构造线程的两种方式有什么不同?5.下列程序实现的功能是什么?importjavio.*;publicclassReverse{publicstaticvoidmain(Stringargs[]){inti,n=10;inta[]=newint[10];for(i=0;in;i++)try{BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));a[i]=Integer.parseInt(br.readLine());}catch(IOExceptione){};for(i=n-1;i=0;i――)System.out.print(a[i]+);System.out.println();}}三、程序设计题(本大题共40分,共4小题,每小题10分)1.编写程序使用类String的replace方法将字符串”Marywasa”改为”Maryhadabook.”2.创建一个Applet,要求在init方法中向该applet添加一个文本输入区组件,该文本输入区中显示字符为“你好”,行数为10,列数为15.3.编写一个java程序将字符串”I’mok”改为”I’mgladtomeetyou”4.编写一个程序,从键盘输入整数n,并计算从1到n的累加和.答案:一、程序阅读题(30分,共5题,每小题6分)1.参考答案:301-97025解题方案:评分标准:完全一样才得分2.参考答案:解题方案:评分标准:3.参考答案:“Pausing,Continuing,DoingFinally”解题方案:评分标准:完全一样才得分,多写不得分4.参考答案:Good-byeWelcome解题方案:评分标准:完全一样才得分,多写不得分5.参考答案:nosselavaj解题方案:评分标准:完全一样才得分,多写不得分二、简答题(30分,共5题,每小题6分)1.参考答案:数据报通信协议UDP(User?Datagram?Protocol)是一种无连接的协议.每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的.流式通信协议TCP(Tranfer?Control?Protocol)与UDP不同,它是面向连接的协议,发送方和接收方的成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server?socker)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,他们就可以进行双向数据传输,双方都可以进行发送或接收操作.解题方案:评分标准:数据报通信和流式通信1个2分2.参考答案:构造线程体有两种方式1定义一个线程类,它继承Thread类,并重写其中的run()方法.直接生成这个类的对象就可以构造一个线程.2提供一个实现接口?Runnable的类作为线程的目标对象.在构造线程对象时,通过方法?Thread(Runnable?target,String?name)把目标对象传给这个线程实例.解题方案:评分标准:1个方法2分3.参考答案:应用程序(Application)是独立存在的、完整的应用程序;而小应用程序是可嵌入的、基本上完整的程序.下面用表格来说明他们之间的差别.Java应用程序Java小应用程序必须安装在本地机上不需要在本地机上显示安装必须在java兼容虚拟机上显示运行在支持Java的浏览器上可以自动载入并运行有无图形用户接口都可以运行必须在图形用户接口中运行,使用AWT从Main()方法开始运行从Init方法开始运行一旦开始,就按照它自己的控制流执行具有它自己的控制流,但部分的由所在的浏览器上下文决定.除了java语言本身的安全特征外没有固定的安全机制.具有重要的安全控制以防止恶意的或者自身拙劣的小应用程序损坏用户系统.解题方案:评分标准:意思对就给分4.参考答案:第一种方式:直接继承Thread类,不能再从其它类继承,编写简单,可以直接操纵线程,无需使用Thread.currentThread().第二种方式:使用Runnable接口,可以将CPU,代码和数据分开,形成清晰的模型;还可以从其他类继承;灵活性高,保持程序风格的一致性.解题方案:评分标准:意思对就给分5.参考答案:将一个从键盘输入的数字串逆序输出解题方案:评分标准:意思对就给分三、程序设计题(40分,共4题,每小题10分)1.参考答案:importjava.util.*;publicclassString_test{publicstaticvoidmain(Stringargs[]){StringBufferstr1=newStringBuffer(“Marywasa”);StringBufferstr2=str1.replace(5,10,”hadabook.”);System.out.println(str2);}}解题方案:评分标准:结构3分,功能实现4分,语法3分2.参考答案:importjava.applet.*;importjava.awt.*;publicclasstestextendsApplet{TextAreatext;publicvoidinit(){text=newTextArea(你好,10,15);add(text);}}解题方案:评分标准:结构3分,功能实现4分,语法3分3.参考答案:解题方案:评分标准:结构3分,功能实现4分,语法3分.4.参考答案:解题方案:评分标准:结构3分,功能实现4分,语法3分.重点:for(inti=1;i=n;i++)sum+=i;