第四周小组作业:WordCount优化

Posted on 2018-04-08 20:29  Kcalb  阅读(129)  评论(1)    收藏  举报

一、源代码地址

 https://github.com/Fish2333333/WordCountPro

二、PSP表格

PSP阶段

预估耗时(分钟)

实际耗时(分钟)

计划

20

20

估计需要时间

120

120

开发

150

250

需求分析

20

30

生成设计文档

30

30

设计复审

10

10

代码规范

10

10

具体设计

30

30

具体编码

60

90

代码复审

20

20

测试

20

20

报告

60

60

测试报告

30

30

计算工作量

10

10

总结

10

10

合计

290

430

 

 三、模块编写

本次我负责的工作是编写main函数框架,整合所有功能模块,并对接口对接时可能出现的问题进行整合。程序的整体思路是对输入进行过滤,将过滤的结果保存起来,并对其进行排序输出。

代码如下:

public static void main(String[] args) throws Exception {    

        BufferedReader br = new BufferedReader(new FileReader("E:/test.txt"));    

        List<String> lists = new ArrayList<String>();  //存储过滤后单词的列表    

        String readLine = null;  

        while((readLine = br.readLine()) != null){    

            String[] wordsArr1 = readLine.split("[^a-zA-Z]");  //过滤出只含有字母的    

            for (String word : wordsArr1) {    

                if(word.length() != 0){  //去除长度为0的行    

                    lists.add(word);    

                }    

            }    

        }    

        br.close();    

 

        Map<String, Integer> wordsCount = new TreeMap<String,Integer>();  //存储单词计数信息,key值为单词,value为单词数         

            

        //单词的词频统计    

        for (String li : lists) {    

            if(wordsCount.get(li) != null){    

                wordsCount.put(li,wordsCount.get(li) + 1);    

            }else{    

                wordsCount.put(li,1);    

            }    

        }    

        SortMap(wordsCount);    //按值进行排序    

}    

 

四、测试用例设计

 

 

五、小组评价得分

本次作业小组成员都在规定时间内完成了各自的任务,每个人都是不可或缺的一部分,小组最终评分0.25