1.码云地址:
结对小伙伴的学号:201621123043
博客地址:
码云地址:
2.PSP表格
PSP2.1 | 个人开发流程 | 预估耗费时间(分钟) | 实际耗费时间(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 35 |
· Estimate | 明确需求和其他相关因素,估计每个阶段的时间成本 | 20 | 15 |
· Development | 开发 | 240 | 250 |
· Analysis | 需求分析 (包括学习新技术) | 30 | 25 |
· Design Spec | 生成设计文档 | 15 | 20 |
· Design Review | 设计复审 | 10 | 15 |
· Coding | Standard | 代码规范 | 10 |
· Design | 具体设计 | 50 | 80 |
· Coding | 具体编码 | 100 | 120 |
· Code Review | 代码复审 | 40 | 20 |
· Test | 测试 | (自我测试,修改代码,提交修改) | 150 |
Reporting | 报告 | 80 | 90 |
· | 测试报告 | 30 | 30 |
· | 计算工作量 | 20 | 20 |
· | 并提出过程改进计划 | 30 | 40 |
3.解题思路描述:
我主要的任务是将代码中的各个功能增加。
词组统计:能统计文件夹中指定长度的词组的词频 输入查找词频,就是只有词频为n的单词(不确定自己是不是审题错误,不过错误的话修改起来也很容易)自定义输出:能输出用户指定的前n多的单词与其数量(前n种单词)
结果: 则将输出信息输出到文件 output.txt中。 输入不同数值: 词频为4数量为6 数量为10词频为10 数量为1(不存在长度为10的连续字符所以值为0)
4.设计过程
1、在原来的代码上加一些东西。定义一个choice的变量,然后输入的词频为choice。再此进行函数操作,具体在代码部分说明。
对于定义输出的n种单词只要在输出时设置一个i 每次i+1知道等于n为止就可以。5.代码说明,展示出项目关键代码,并解释思路与注释说明。
结果图片:
对于词频的判断与输出。 判断:public static MapgetWordFreq(String text,int choice) // 统计单词词频(单词:以4个英文字母开头,跟上字母数字符号,单词以分隔符分割,不区分大小写。) { HashMap wordFreq = new HashMap (); String content = text.replace('\r', ' '); content = text.replace('\b', ' '); content = text.replace('\n', ' '); String words []= content.split(" "); for(int i= 0; i ='A'&& c<='Z')||(c>='a'&& c<='z'))) break; } if(j==choice) { words[i] = words[i].trim().toLowerCase(); // 将字符串转化为小写 if (wordFreq.get(words[i]) == null) { // 判断之前Map中是否出现过该字符串 wordFreq.put(words[i], 1); } else wordFreq.put(words[i], wordFreq.get(words[i]) + 1); }} } return wordFreq; }}
输出:
MapwordFreq = deal.getWordFreq(content,choice); /*遍历map*/ for (Map.Entry entry : wordFreq.entrySet()){ if(i
7.结合在构建之法中学习到的相关内容与结对项目的实践经历,描述结对的感受,是否1+1>2?
我觉得总体来说1+1一定是大于2的,因为两个人可以互相监督,互相协作,碰到的问题也有人可以聊,不会一个人做到一半就想着看别人的代码,另外,两个人对于分工以及各个人的工作都能有效率上的提高,每个人有各个的分工,可以减轻单个人的代码负担。