1、计算机二级(JAVA)上机考试 17 及答案解析(总分:-3.00,做题时间:90 分钟)1.基本操作题 下列程序中,要求输出一个特定文件(这里是 ex2_1.java)的相关信息,包括文件的名字,相对路径以及文件的长度。请将程序补充完整。 程序运行结果如下: name: ex2_1.java path: ex2_1.java length: 299 import java.io.*; public class ex2_1 public static void main(String args) File file2_1 = new File(“ex2_1.java“); System.out
2、.println(“name: “ + file2_1. ); System.out.println(“path: “ + file2_1. ); System.out.println(“length: “ + file2_1. ); (分数:-1.00)_2.简单应用题 请完成下列 Java 程序:对大写的 26 个英文字母加密,从键盘输入一个大写字母串,输出这个串加密后的结果。加密操作是将字母变换成倒序的大写字母,如 A-Z, B-Y。 注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: 输入一个大写字母串:ADFSDFFE 加密后的大写字
3、母串:ZWUHWUUV import java.io.*; public class ex12_2 public static void main (String args) char ch = A; String str; System.out.print(“输入一个大写字母串:“); try BufferedReader in = new BufferedReader(new InputStreamReader(System.in); str = in.readLine(); System.out.print(“加密后的大写字母串:“); for(int i=0;i_3.综合应用题 下面是
4、一个 Applet 程序,其功能是将完整的图像显示于 Applet 的区块中,然后可以通过拖动鼠标让图像随着鼠标拖动的轨迹而移动。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:-1.00)_计算机二级(JAVA)上机考试 17 答案解析(总分:-3.00,做题时间:90 分钟)1.基本操作题 下列程序中,要求输出一个特定文件(这里是 ex2_1.java)的相关信息,包括文件的名字,相对路径以及文件的长度。请将程序补充完整。 程序运行结果如下: name: ex2_1.java path: ex2_1.jav
5、a length: 299 import java.io.*; public class ex2_1 public static void main(String args) File file2_1 = new File(“ex2_1.java“); System.out.println(“name: “ + file2_1. ); System.out.println(“path: “ + file2_1. ); System.out.println(“length: “ + file2_1. ); (分数:-1.00)_正确答案:(getName() getPath() length()
6、 )解析:本题主要考查 Java 文件以及 Java 类库中的 File 类的常用方法。解题关键是熟记 Java 的 File 类的常用方法:getName(),getPath(),length()等。在本题中,这 3 个空分别对应填入这 3 个方法即可。2.简单应用题 请完成下列 Java 程序:对大写的 26 个英文字母加密,从键盘输入一个大写字母串,输出这个串加密后的结果。加密操作是将字母变换成倒序的大写字母,如 A-Z, B-Y。 注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: 输入一个大写字母串:ADFSDFFE 加密后的大写字母
7、串:ZWUHWUUV import java.io.*; public class ex12_2 public static void main (String args) char ch = A; String str; System.out.print(“输入一个大写字母串:“); try BufferedReader in = new BufferedReader(new InputStreamReader(System.in); str = in.readLine(); System.out.print(“加密后的大写字母串:“); for(int i=0;i_正确答案:(ch = s
8、tr.charAt(i) ch = (char )(Z - ch + A) )解析:本题主要考查字符串的操作和 I/O 操作的简单应用。解题关键是,熟悉字符串的基本操作,会将字符作相应的转换,熟悉字符串的定位方法 charAt()以及基本的 I/O 操作。本题中,第 1 个空,定位 str对象中的字符,调用 str 对象的 charAt()方法定位第 i 个字符并将该字符写给 ch 变量;第 2 个空,加密算法的实现,Z-ch 表示字符 ch 在字符表中和字符Z之间相隔多少字符,再加上字符A就得到了倒序的字符在字符表中的位置,然后进行类型转换,就得到了倒序的字符。3.综合应用题 下面是一个 A
9、pplet 程序,其功能是将完整的图像显示于 Applet 的区块中,然后可以通过拖动鼠标让图像随着鼠标拖动的轨迹而移动。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:-1.00)_正确答案:(iImg = getImage(getDocumentBase(),“ex8_3.jpg“) g.drawImage(iImg,xPos,yPos,this) repaint() )解析:本题主要考查在 Applet 窗口中显示图像,并结合鼠标事件处理的综合应用。解题关键是熟悉图像文件的加载过程,会跟踪鼠标拖动的事件,并将鼠标在 Applet 窗口中的坐标信息作为参数传递给drawImage()方法,用于在新的位置显示图像,从而实现拖动效果。本题中,第一处,getImage()方法应该有 2 个参数,第一个参数是 getDocumentBase()方法的返回值,即图像文件的路径;第二处,drawImage()方法最后一个参数应该是 this,确定是在当前运行的对象中绘制图像;第三处,应该调用repaint()方法,进行重画,而不是 paint()方法。