zoukankan      html  css  js  c++  java
  • 软工作业

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/computer-science-class4-2018/
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-science-class4-2018/homework/11880
    这个作业的目标 <编程进行词频的统计>
    学号 <20188515>

    一、码云地址
    https://gitee.com/unbetter/project-java/tree/master/20188515
    二、思路描述
    先读取文件的信息,再检查文件中字符数和检查单词总数,接着统计有效行数,最后输出统计内容到指定的输出文件中
    三、设计与实现过程
    1.检查文件中字符数
    `

    while((ch=(char)br.read())!=(char)-1)
            {
                if(ch<=127)//保证读取的字符为ASCLL码
                {
                    countChar++;
                }
            }       `
    

    2.检查单词总数
    `

    String[] strs=words.split("[^a-zA-Z0-9]");
                String regexs = "^[a-zA-Z]{4,}.*";
                for(int i=0;i<strs.length;i++)
                {
                    if(strs[i].matches(regexs))
                    {
                        countWord++;
                    }
                } `
    

    3.统计有效行数
    `

    for (int i=0;i<c.length;i++)
                {
                    if (c[i]!='
    ' && c[i]!='
    ' && c[i]!='	')
                    {
                        countLine++;
                        break;
                    }
                }`
    

    4.统计出现频率最高的10个单词的出现次数
    `

      for (int i = 0; i < strs.length; i++) {
                if (strs[i].matches(regexs)) {
                    if (!map.containsKey(strs[i].toLowerCase())) {            
                        map.put(strs[i].toLowerCase(), 1);
                    } else {
                        int num = map.get(strs[i].toLowerCase());
                        map.put(strs[i].toLowerCase(), num + 1);
                    }
                }
            }`
    

    5.输出统计内容到指定的输出文件中
    `

       StringBuilder str = new StringBuilder();
            str.append("characters: "+countChar+"
    " + "words: "+countWord+"
    " +"lines: "+countLine+"
    "s);
            for(int i = 0;i<(list.size()<10 ? list.size():10);i++){
                str.append(list.get(i).getKey()+": "+list.get(i).getValue()+"
    ");
            }`
    

    image
    四、心路历程与收获
    通过这次作业感到自己有很多的不足之处,所以以后还需努力学习,对技术的用法还掌握还不熟悉。在写作业的时候,感觉非常的难,还是学的不透彻。
    五、PSP表格

    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 20 30
    Estimate 估计这个任务需要多少时间 1000 1050
    Development 开发 200 200
    Analysis 需求分析 (包括学习新技术) 210 180
    Design Spec 生成设计文档 60 30
    Design Review 设计复审 30 10
    Coding Standar 代码规范 (为目前的开发制定合适的规范) 10 10
    Design 具体设计 50 60
    Coding 具体编码 100 90
    Code Review 代码复审 20 60
    Test 测试(自我测试,修改代码,提交修改) 20 40
    Reporting 报告 20 40
    Test Repor 测试报告 20 15
    Size Measurement 计算工作量 10 10
    Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 30 20
    合计 1800 1815
  • 相关阅读:
    poj1015
    poj1101
    poj1081
    poj1020
    深入浅出MFC文档视图架构之实例剖析 Love3的日志 网易博客
    简单问题:LPARAM 是一个long(32bit),双字,怎么分别得到高位字和低位字的值。
    VC MFC SDI/MDI框架各部分指针获取方式
    msado15.tlh(228) : error C2011: “LockTypeEnum”: “enum”类型重定义
    C#数据库方面好书
    excel2007密码破解
  • 原文地址:https://www.cnblogs.com/LUMO/p/14610231.html
Copyright © 2011-2022 走看看