码迷,mamicode.com
首页 > 其他好文 > 详细

结对编程

时间:2018-10-08 20:44:11      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:数字   length   str   rds   ade   统计   standard   blog   eve   

1.码云地址:

https://gitee.com/wangqiwen/SoftwareEngineering.git

结对小伙伴的学号:201621123043

博客地址:https://www.cnblogs.com/wengmq/p/9751142.html

码云地址:https://gitee.com/wengmingqiang/PersonalProject-C

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 Map<String, Integer> getWordFreq(String text,int choice) // 统计单词词频(单词:以4个英文字母开头,跟上字母数字符号,单词以分隔符分割,不区分大小写。)
   {
       HashMap<String, Integer> wordFreq = new HashMap<String, Integer>();
     
     String content = text.replace(‘\r‘, ‘ ‘);
     content = text.replace(‘\b‘, ‘ ‘);
     content = text.replace(‘\n‘, ‘ ‘);
     
    String words []= content.split(" ");
     for(int i= 0; i<words.length;i++)
     {
         if (words[i].length()==choice){
         int j = 0;
         for(  j =0;j<choice;j++)
         { 
             char c =words[i].charAt(j);
             if(!((c>=‘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;
 }}

输出:

   Map<String, Integer> wordFreq = deal.getWordFreq(content,choice);
       /*遍历map*/
       for (Map.Entry<String, Integer> entry : wordFreq.entrySet()){
           if(i<num){ 
        String key = entry.getKey();
        Integer value = entry.getValue();
        System.out.println("单词:" + key + ", 数量:" + value);
        i=i+1;
        byte[] temp=new byte[80];
        temp=key.getBytes();
        fos.write(temp);//将单词输入文件2.txt
        }

7.结合在构建之法中学习到的相关内容与结对项目的实践经历,描述结对的感受,是否1+1>2?

我觉得总体来说1+1一定是大于2的,因为两个人可以互相监督,互相协作,碰到的问题也有人可以聊,不会一个人做到一半就想着看别人的代码,另外,两个人对于分工以及各个人的工作都能有效率上的提高,每个人有各个的分工,可以减轻单个人的代码负担。

结对编程

标签:数字   length   str   rds   ade   统计   standard   blog   eve   

原文地址:https://www.cnblogs.com/1672-zcl/p/9751971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!