• 202103226-1 编程作业


    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/computer-science-class3-2018
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-science-class3-2018/homework/11879
    这个作业的目标 完成词频统计的个人作业以及博客撰写
    学号 20188471

    Gitee项目地址:https://gitee.com/zl123456787654321/project-java

    Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    计划 720 720
    • 估计这个任务需要多少时间 600 600
    开发 120 120
    • 需求分析 (包括学习新技术) 60 90
    • 生成设计文档 30 30
    • 设计复审 20 30
    • 代码规范 (为目前的开发制定合适的规范) 30 30
    • 具体设计 40 40
    • 具体编码 120 150
    • 代码复审 30 20
    • 测试(自我测试,修改代码,提交修改) 120 120
    报告 60 60
    • 测试报告 40 40
    • 计算工作量 30 30
    • 事后总结, 并提出过程改进计划 30 30
    合计 730 790

    解题思路描述:
    1、从文件获取输入;
    2、统计字符数、单词数以及出现最多的十个单词及词频;
    3、输出结果;

    代码规范链接:https://gitee.com/zl123456787654321/project-java/blob/master/20188471/codestyle.md

    计算模块接口的设计与实现过程
    按照题目要求,程序设计了两个类Lib类和WordCount类;
    Lib类中包含的方法:
    *getWords //获取单词总数
    * getChars //获取字符数
    * getLines //获取行数
    * getMaxCntWords
    WordCount类包含Main函数等

    getLines()方法的设计

    Pattern linePattern = Pattern.compile("(^|
    )\s*\S+");   //行数匹配正则表达式
        lines = 0;   //行数置为0
        Matcher matcher = linePattern.matcher(text);   
        while (matcher.find()) 
        {
            lines++;
        }
    

    getChars()方法设计

    chars = text.length();
    

    getWords()方法的设计

     if(!isDoHandleWordsFunc)
                handleWords();
            isDoHandleWordsFunc = true;
    

    getMaxCntWords()方法的设计

     if(!isDoHandleWordsFunc)
                handleWords();
            isDoHandleWordsFunc = true;
    

    异常处理说明

    读写文件出现错误:采用try catch来抛出异常

           try
            {
                inputBfd = new BufferedReader(new InputStreamReader(new FileInputStream(inputFileName), "UTF-8"));  
                int charIndex = 0;
                StringBuilder stringBuilder = new StringBuilder();   
                while ((charIndex = inputBfd.read()) != -1) {
                    stringBuilder.append((char) charIndex);
                }
                text = stringBuilder.toString(); 
            }
            catch (Exception e)
            {
                System.out.print(e.getMessage());
                System.out.print("
    文件写出错!");
            }
            finally
            {
                if(output != null)
                    output.close();
            }
    

    心路历程与收获
    第一次做要求比较多的作业,看完题目让人头大;老师给的时间也比较充裕;在这期间要学会使用Gitee的一些简单命令,把大一学的一点皮毛给找补回来。但最后还是看视频、找资料初步完成了本次作业。也从侧面反映出所学的知识并不是很扎实,还有很长的一段路要走。在后面的学习中,也要慢慢找补回前面所学的知识。第一次制订Personal Software Process (PSP),能有一个时间规划,也能有效的提高效率。

  • 相关阅读:
    第05组 Alpha冲刺(4/4)
    第05组 Alpha冲刺(3/4)
    第05组 Alpha冲刺(2/4)
    团队作业——总结
    beta版本发布-团队
    团队作业-Beta冲刺(周五)
    团队作业-Beta冲刺(周四)
    团队作业-Beta冲刺(周三)
    个人作业——Alpha项目测试
    团队项目第四次作业
  • 原文地址:https://www.cnblogs.com/zl010206/p/14608891.html
Copyright © 2020-2023  润新知