以下程序实现的功能是从文件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.out.println("count="+cnt); f.______();}catch(Exception e){ e.printStackTrace();} } }
参考答案:
解析:FileInputStream FileInputStream 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。