编程作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/computer-science-class1-2018
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-science-class1-2018/homework/11877
这个作业的目标 完成编程作业并上传到getee
作业正文 https://www.cnblogs.com/lpf666/p/14611451.html
其他参考文献 https://www.liaoxuefeng.com/wiki/896043488029600。https://blog.csdn.net/ai_bao_zi/article/details/81134801

Github项目地址

https://gitee.com/lpf_666/project-java

PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划
• Estimate • 估计这个任务需要多少时间 15 20
Development 开发
• Analysis • 需求分析 (包括学习新技术) 120 160
• Design Spec • 生成设计文档 30 30
• Design Review • 设计复审 20 30
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 30 25
• Design • 具体设计 40 60
• Coding • 具体编码 300 350
• Code Review • 代码复审 20 100
• Test • 测试(自我测试,修改代码,提交修改) 30 50
Reporting 报告
• Test Repor • 测试报告 60 60
• Size Measurement • 计算工作量 15 30
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 30 20
合计 720 935

解题思路描述

输出要求:
1 统计文件的字符数(对应输出第一行):
2 统计文件的单词总数(对应输出第二行),单词:至少以4个英文字母开头,跟上字母数字符号,单词以分隔符分割,不区分大小写。
3 统计文件的有效行数(对应输出第三行):任何包含非空白字符的行,都需要统计。
4 统计文件中各单词的出现次数(对应输出接下来10行),最终只输出频率最高的10个。

第一步:文件读取。利用Buffered,输入流中读取文本并缓冲字符,以便有效地读取字符,数组和行
第二步:统计行数,对每行的字符累加计算总字符数
第三步:过滤筛选单词统计排序。
第四步:输出结果

代码规范制定链接:https://gitee.com/lpf_666/project-java/blob/master/20188384/src/rainbows/codestyle.md

设计与实现过程

对文件进行读取

 BufferedReader br = new BufferedReader(new FileReader(filepath)); 
        List<String> lists = new ArrayList<String>();   
        String readLine = null;

计算


        
		while((readLine = br.readLine()) != null)
		{
			characters+=readLine.length();

对单词频率进行排序

public static void SortMap(Map<String,Integer> old)//
    {       
        ArrayList<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(old.entrySet());  
        Collections.sort(list,new Comparator<Map.Entry<String,Integer>>()
        {  
            @Override  
            public int compare(Entry<String, Integer> word1, Entry<String, Integer> word2) 
            {  
                return word2.getValue() - word1.getValue();    
            }  
        });

性能改进

暂无

单元测试

选自汤姆历险记中不同章节的片段
image
image

异常处理说明

无效的文件地址会导致系统异常
image

心路历程与收获

这次作业让我受益匪浅,让我学会了许多新的知识,比如gitee的运用,异常处理,单元测试等有了新的认识和了解。希望下一次作业能有更多收获~

posted @ 2021-04-02 16:47  awq  阅读(57)  评论(0编辑  收藏  举报