★Java语言与技术部分参考答案★·1·Java语言与一、单选题DBADB二、填空题1.C/C++、C++2.19953.class、java4.封装性、多态性、继承性5.javac.exe、java.exe6.声明、使用7.const、goto8.小写、大写9.类、数据成员、方法10.2、811.长整型四、程序设计题1.编写小程序,求1到100之间所有整数之和,并在小程序坐标(100,100)处显示。importjava.awt.*;importjava.applet.*;publicclassMySumextendsApplet{intsum;publicvoidinit(){sum=0;for(inti=1;i=100;i++)sum+=i;}publicvoidpaint(Graphicsg){g.drawString(sum+,100,100);}}★Java语言与技术★·2·Java语言与一、单选题AABAD二、填空题1.定义对象格式的模板2.数据、方法3.实例4.实例变量5.数据类型6..(点运算符)7.new8.构造器9.垃圾回收机制10.当前方法11.int[]arr=newint[n];//n是指数据组的长度12.面向对象13.length14.Stringstr=”thisisatest!”;或Stringstr=newString(“thisisatest!”);15.416.‘b’17.private18.public19.对象类型20.相同、不同21.编译器22.多态性23.static24.共享25.extends26.超类、子类27.超类28.普通成员和构造器29.super(参数列表)、super.成员[(参数列表)];30.多继承31.子类、该类的超类、该类的子类32.可以访问哪些成员、执行哪个版本33.相同、相同、覆盖34.重载35.运行期36.抽象类、abstract37.abstract38.方法声明、类声明、变量声明39.类,封装、命名40.名字,package41.默认的、public42.import43.方法实现、多、implements44.publicfinalstatic★Java语言与技术部分参考答案★·3·四、程序填空1、A.javaextendssuperabstract2、完成下面程序的填空。程序的输出结果是:56Apublic五、程序设计1.定义一个描述长方体的类Box,类中有三个整型的实例变量:length,width和heihgt,分别表示长方体的长宽和高。定义构造函数,初始化这三个变量。定义方法求长方体的体积并返回整型结果。定义方法求长方体的表面积整型结果。定义方法把长方体的体积转化成字符串并返回字符串。classBox{intlength;intwidth;intheight;Box(){length=width=height=0;}Box(intl,intw,inth){length=l;width=w;height=h;}intvol(){returnlength*width*height;}publicStringtoString(){returnvol()+;}★Java语言与技术★·4·}2.定义一个描述平面坐标系统中的点及操作的类Point。它有两个double型私有属性x和y描述点坐标系中的位置。该类包含如下方法:初始化x和y的构造函数;返回x和y值的方法getX()和getY();将给定坐标平移w(水平)和h(垂直)的方法voidshiftPoint(doublew,doubleh);判断调用该方法的点的坐标和方法中的参数点的坐标是否相等的方法booleanpointEquals(Pointp)。编写应用程序,测试类Point,使用上面定义的各个方法并将其结果输出。classPoint{privatedoublex;privatedoubley;Point(){x=y=0;}Point(doublex,doubley){this.x=x;this.y=y;}doublegetX(){returnx;}voidshiftPoint(doublew,doubleh){x+=w;y+=h;}booleanpointEquals(Pointp){return(this.x==p.x&&this.y==p.y);}}classTest{publicstaticvoidmain(String[]args){Pointp1=newPoint(1,2);Pointp2=newPoint(3,4);p2.shiftPoint(-2,-2);System.out.println(p1.pointEquals(p2));}}★Java语言与技术部分参考答案★·5·3.定义一个接口,接口中有三个抽象方法:longfactorial(intm);//求参数的阶乘longmyPower(intm,intn);//求参数m的n次方BooleanfindFactorSum(intm,intn);//判断参数中较小数是否是较大数的因子编写一个类Test实现该接口。interfaceMyMath{longfactorial(intm);longmyPower(intm,intn);booleanfindFactorSum(intm,intn);}classimpleMyMath{publiclongfactorial(intm){longfact=1;for(inti=1;i=m;i++)fact*=i;returnfact;}publiclongmyPower(intm,intn){longpower=m;for(inti=1;in;i++)power*=m;returnpower;}publicbooleanfindFactorSum(intm,intn){if(mn){returnm%n==0;}elsereturnn%n==0;}}★Java语言与技术★·6·Java语言与一、填空题1.代码自动化2.try、catch3.放需要监控的可能产生错误的代码、捕获某种类型异常后的处理4.将被JVM捕获,中止程序的运行5.finally6.throws7.java.lang、超类、系统8.算术、数组下标越界9.抛出、捕获10.java.io、InputStream、子类、OutputStream、子类11.FileInputStream、FileOutputStream12.System、键盘、屏幕1.已知一个类的代码如下:classExecptionDemo{publicstaticvoidmain(Stringargs[]){inta[]=newint[4];a[3]=3;a[4]=6;System.out.println(a[3]);System.out.println(a[4]);}}请在加入合适的异常处理语句避免程序异常中止。classExecptionDemo{publicstaticvoidmain(Stringargs[]){inta[]=newint[4];try{a[3]=3;a[4]=6;★Java语言与技术部分参考答案★·7·System.out.println(a[3]);System.out.println(a[4]);}catch(ArrayIndexOutOfBoundsExceptionexc){System.out.println(ArrayIndexOutOfBoundsException);}}}四、程序设计1.利用文件输入/输出流编写一个实现文件拷贝的应用程序,路径名以及源文件名和目标文件名通过命令行参数传入。importjava.io.*;classFileCopy{publicstaticvoidmain(Stringargs[])throwsException{intsize;Stringsource,target;if(args.length=2){source=args[0];target=args[1];Filefile=newFile(source);size=(int)file.length();byte[]bytes=newbyte[size];FileInputStreamf=newFileInputStream(file);f.read(bytes);f.close();FileOutputStreamfOut=newFileOutputStream(target);fOut.write(bytes);fOut.close();}}}★Java语言与技术★·8·2.编写应用程序,创建一个BufferedReader对象读取程序本身并显示在屏幕上。importjava.io.*;classFileRead{publicstaticvoidmain(Stringargs[])throwsException{intsize;Stringsource,target;Filefile=newFile(FileRead.java);BufferedReaderbuffer=newBufferedReader(newInputStreamReader(newFileInputStream(file)));Stringstr;while((str=buffer.readLine())!=null){System.out.println(str);}buffer.close();}}3.使用正确的异常处理方法实现以下两个数组中的元素两两相除,并依次打印出相除后的结果。inta[]={31,63,55,66,94};intb[]={7,5,0,22,73,8,21,6,3};classMyException{publicstaticvoidmain(String[]args){inta[]={31,63,55,66,94};intb[]={7,5,0,22,73,8,21,6,3};for(inti=0;i9;i++)try{System.out.println(a[i]/b[i]);}catch(ArithmeticExceptionexc){System.out.println(devidebyzero!);}catch(ArrayIndexOutOfBoundsExceptionexc){System.out.println(ArrayIndexOutOfBoundsException!);}}}★Java语言与技术部分参考答案★·9·Java语言与一、单选题BADAACDB二、填空题1.Thread、Runnable2.Thread、Runnable3.synchronized4.java.awt、java.applet5.Applet6.Application、Applet7.事件8.init()、start()、paint()、stop()、destroy()9.keyPress()、keyReleased()、keyTyped()、按下键、释放键、敲击键10.Graphics、Java2、Java2D、Graphics11.paint()12.折线、各点的x轴坐标、各点的y轴坐标、点的个数13.空心圆角矩形、指定矩形四角的弧度14.Canvas、绘制图形和文字15.Font.BOLD、Font.ITALIC、Font.PLAIN16.红、黑、白17.getImage(URLurl,Stringfilename)、Image、drawImage()18.getParameter()四、程序设计1.创建一个具有两个线程的程序,其中一个线程每隔0.5秒打印“.”,另一个线程每隔1秒打印i,其中i初值为1,每次以1为步长递增。classTestimplementsRunnable