版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA程序上机作业1实验报告一.实验题目:文本统计器创建一个类,实现统计文本文件中各类字符和字符串的个数的功能,要求实现:按字符统计,输出各个字符的数量按单词统计,输出各个单词的数量在1(b)的基础上,实现一个类KeywordIdentifier,读入一个java程序源文件,输出各个关键字的个数(注意,注释中出现的关键字不计入关键字个数)二.实现过程及步骤:1.实现统计字符个数功能:publicstaticHashMap<Character,Integer>CharCounter(Strings){ for(inti=0;i<s.length();i++) { Characterc=s.charAt(i);//获得s中第i个字符;charAt(i)截取第i个字符 Integercountmap.get(c);//用字符c作为key值在map中查找value map.put(c,count==null?1:count+1);//如果value不为空,则表示出现过,数目会加1,如果为空,表示没出现,则数目为1 } returnmap;}2.实现统计单词个数功能:publicstaticvoidWordCounter(Stringstr){ String[]slist=str.split("\\b"); for(inti=0;i<slist.length;i++) { if(!has.containsKey(slist[i])) { has.put(slist[i],1); } else { has.put(slist[i],has.get(slist[i])+1); } }}3.实现统计关键字个数功能:publicstaticvoidKeywordidentifier(Strings){String[]keyword={"public","static","int","if","else","for","class","break","return"};String[]slist=s.splist("\\b");for(inti=0;i<slist.length;i++){ for(Stringitem:keyword){if(item.equals(slist[i])){if(!key.containsKey(slist[i])){key.put(slist[i],1);}else{key.put(slist[i],key.get(slist[i])+1);}break;}}}}三.程序源代码:importjava.until.*;importjava.util.HashMap;importjava.io.*;publicclassCalculateWords{publicstaticHashMap<Character,Integer>map=newHashMap<Character,Integer>();publicstaticHashMap<String,Integer>has=newHashMap<String,Integer>();publicstaticHashMap<String,Integer>key=newHashMap<String,Integer>();//***********统计字符个数***************publicstaticHashMap<Character,Integer>CharCounter(Strings){ for(inti=0;i<s.length();i++) { Characterc=s.charAt(i);//获得s中第i个字符;charAt(i)截取第i个字符 Integercountmap.get(c);//用字符c作为key值在map中查找value map.put(c,count==null?1:count+1);//如果value不为空,则表示出现过,数目会加1,如果为空,表示没出现,则数目为1 } returnmap;}//************统计单词个数***************publicstaticvoidWordCounter(Stringstr){ String[]slist=str.split("\\b"); for(inti=0;i<slist.length;i++) { if(!has.containsKey(slist[i])) { has.put(slist[i],1); } else { has.put(slist[i],has.get(slist[i])+1); } }}//***************统计关键字个数***************publicstaticvoidKeywordidentifier(Strings){String[]keyword={"public","static","int","if","else","for","class","break","return"};String[]slist=s.splist("\\b");for(inti=0;i<slist.length;i++){ for(Stringitem:keyword){if(item.equals(slist[i])){if(!key.containsKey(slist[i])){key.put(slist[i],1);}else{key.put(slist[i],key.get(slist[i])+1);}break;}}}}publicstaticvoidmain(String[]args)throwsIOException{longfilePoint=0;Strings;RandomAccessFilefile=newRandomAccessFile("in.txt","r");longfileLength=file.length();//获取文件长度while(filePoint<fileLength){s=file.readLine();//读取一行字符,并移动文件指针//统计每个字符的频率CharCounter(s);//统计每个单词的频率WordCounter(s);//统计关键字Keywordidentifier(s);filePoint=file.getFilePointer();}System.out.println(map);System.out.println(has);System.out.println(key);}}注:1.统计关键字时,只用了少量常见关键字;2.其中实验时读入文档“in.txt”为:“AlthoughastrongpoundandweakmarketsinAsiaplayaroleinthedownsizing,thelayoffsinStokehavetheirrootsinearthshakingsocialshifts.AspokesmanforRoyalDoultonadmittedthatthecompany"hasbeensomewhatslowincatchingupwiththetrend"towardcasualdining.Familieseattogetherlessoften,heexplained
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年湖北省襄阳市法检系统书记员招聘笔试试题及答案详解
- 2026云南昆明市第一人民医院住院医师规范化培训招收59人笔试模拟试题及答案详解
- 2025年通辽市科尔沁区法检系统书记员招聘笔试试题及答案详解
- 2025年张家口市下花园区法检系统书记员招聘笔试试题及答案详解
- 2025年涪陵区法检系统书记员招聘笔试试题及答案详解
- 2026重庆交通大学合同工招聘考试参考题库及答案详解
- 2026单招面试题库基础常识及答案
- 叉车停放位置锁定及防溜车管理工作手册
- 高架道路设施巡检工作手册
- 废水处理与固废处置技术手册
- GB/T 47661-2026温室气体产品碳足迹量化方法与要求风力发电
- 2026贵州农商联合银行第二批社会招聘11人笔试参考题库及答案详解
- 2026年新疆银行人员招聘笔试参考题库及答案详解
- 2026年联通考试试题及答案
- 2026年湖北公开遴选公务员考试(综合管理类)综合试题及答案
- 2026年专业技术人员继续教育公需科目人工智能及应用试题及答案
- 江苏徐州市交通控股集团招聘笔试题库2026
- 2025年株洲市荷塘区事业单位招聘笔试试题及答案解析
- 2026春每日一练小纸条数学人教版小升初
- 武汉理工大学新生数学入学测试真题
- 2026年养生食疗教程课件
评论
0/150
提交评论