1、国家二级( JAVA)机试模拟试卷 82及答案与解析 一、基本操作题( 30分) 1 如下程序在编译时出错,请改正程序中的错误,使之顺利通过编译和运行。 注意:不改动程序结构,不得增行或删行。 class SubClass extends BaseClass class BaseClass String str; public BaseClass() SyStem.out.println(“good“); public BasecClass(String s) str=s; public class ConstructTest1 public static void main(String a
2、rgs) SubClass s=new SubClass(“hi“); BaseClass b=new BaseClass(“Java“); 二、简单应用题( 40分) 2 在当前文件夹中生成一个名为 Filel.txt的文件,在 D盘里生成一个名为 mydir的文件夹,并在该文件夹中生成一个名为 File2.txt的文件,最后输出文件 File2.txt的完整路径。修改下列程序中的错误之处,使程序能够正确运行。 注意:不改动程序结构,不得增行或删行。 import java.io.*; public class FileTest public static void main(String
3、args) File dirObject=new File(d:mydir); File fileObjectl=new File(d:kmydir“,“Filel.txt“); File fileObject2=new File(d:/mydir“,“File2.txt“); System.out.println(fileObject2); try Dirobject.mkdir(); catch(SecurityException e) try fileObject1.createNewFile(); fileObject2.createNewFile(); catch(I0Excepti
4、on e) 三、综合应用题( 30分) 3 以下程序实现的功能是从文件 file.txt中读取字符,然后判断每个字符在字母表中的顷序是否位于 “A”和 “Z”之间,若是,则计数器 cnt加 1,否则继续读取字符直到文件结束。请将程序补充完整。 注意:不改动程序结构,不得增行或删行。 package ch3; import java.io*; public class ex3 public static void main(String args) int cnt=0; try _f=new_(“ch3/file.txt“); int Ch; while( ) if( ) _; System.o
5、ut.println(“count=“+cnt); f._(); catch(Exception e) e.printStackTrace(); 国家二级( JAVA)机试模拟试卷 82答案与解析 一、基本操作题( 30分) 1 【正确答案】 改为 SubClass=new SubClass(); 【试题解析】 本题是考查对类构造函数的理解。当一个类中未显示定义构造函数时,默认的构造函数是以类名为函数名,参数为空,函数体为空。虽然父类中的某一构造函数有字符串参数 s,但是,子类继承父类时,并不继承构造函数,所以它只能使用默认构造函数。 二、简单应用题( 40分) 2 【正确答案】 应将程序中如
6、下语句 File dirObject=new File(d:mydir); File fileObject1=new File(d:mydir“,“Filel.txt“); File fileObject2=new File(d:/mydir“,“File2.txt“); 改为: File dirObject=new File(“d:mydir“); File fileObject1=new File(“Filel.txt“); File 【试题解析】 本题考查如何生成文件对象,这是一道简单应用题。 程序中生成了3个文件对象 dirObject、 fileObject1和 fileObject
7、2,在对 dirObject进行初始化时,因为参数为绝对路径,所以调用 mkdir()方法,这样就在参数指定的路径中生成一个名为 mydir的文件夹;对 fileObject1进行实例化时,参数为相对路径,所以后面调用的是 createNewFile()方法,程序运行后就会在当前路径下生成参数中指定的文件; fileObject2实例化后,调用 createNewFile()方法,程序在参数第一个字符串变量指定的文件夹中创建一个文件, 该文件的名称和相对路径由参数的第二个字符串变量指定。 三、综合应用题( 30分) 3 【正确答案】 FileInputStream FileInputStrea
8、m ch=f.read()!=-1 ch =A&ch =Z cnt+ close 【试题解析】 本题是考查输入输出、文件操作及控制语句。输出流采用FileOutputStream,因此,第 1空和第 2空都填写 FilelnputStream。第 3空要填写的是一个条件表达式,返回值为布尔类型,含义是对象 f从文件中读取一个字节的数据,并将该数据存入 int类型变量 ch中,同时判断是否已经读到文件末尾,因此,第 3空填写 ch=f.read()!=-1。依题意,判断每个字符在字母表中的顺序是否位于 “A”和 “Z”之间,若是,则计数器 cnt加 1,因此,第 4空和第 5空填写 ch=A&ch =Z和 cnt+。最后完成文件的读写操作时,相应的对象需要关闭自己所关联的文件,因此,第 6空填写 close。