软件工程2017第二周作业-词频作业汇总

                                                                                             

         这篇博客主要写以下几点:

              1、关于功能一

               2、关于功能二

               3、“词频”PSP阶段表格

               4、本周例行报告

               5、git链接

一、关于功能一

       1、先把运行截图放上:

       

      2、重点难点:分割字符串,过滤标点符号; 词频排序,按出现的频率从高到低输出

      3、分割字符串,将字符串S中的返回的空值去掉,重要代码如下:

string[] S = word.Split(new char[] { ' ', ',', '.', '!', '?', ':', ';', '\'', '\"' }, StringSplitOptions.RemoveEmptyEntries);

     

       词频排序是把分隔出来的字符存到哈希表,然后对哈希表的值进行排序,重要代码如下:

            Hashtable ht = new Hashtable();//建立哈希表,键对值存储单词以及个数
            for (int i = 0; i < words.Length; i++)
            {
                if (ht.ContainsKey(words[i]))
                {
                    ht[words[i]] = (int)ht[words[i]] + 1;
                }
                else
                {
                    ht.Add(words[i], 1);
                }
            }

4、得意的地方:解决了单词总数多一个的问题和单词对齐的问题,虽然很快解决了,但是还是看到运行结果的时候很开心

二、关于功能二

     完成功能二之后就开始把两个项目整合了,第三个功能和第四个功能还没有实现。在做第二个功能读取文件的时候我用的是第一个功能代码中的读取文件代码,读的是每一行的,结果读取大文件的时候,只能读取第一句,进坑好久才发现然后解决了(功能二完整代码见链接:http://www.cnblogs.com/liusx0303/p/7528900.html

1、 难点:整合代码把两个功能合在一起;控制台命令输入问题;

2、重点:格式问题,比如功能一单词个数不用words;词频输出对齐问题;

3、控制台命令输入代码:

            if (args.Length > 0 && args[0] == "-s" && File.Exists(args[1]))//功能1
            {
                Program_f program_f = new Program_f();
                program_f.txtName = args[1];
                program_f.Count_f(program_f.txtName);
            }
            else if (args.Length > 0 && File.Exists(args[0] + ".txt"))//功能2
            {
                Program_f program_f = new Program_f();
                program_f.txtName = args[0] + ".txt";
                program_f.Count_f(program_f.txtName);
            }

4、功能一和功能二整合之后,在控制台命令行下运行截图如下

                   功能一命令行运行截图 1

           功能二命令行运行截图  2

 

、“词频”PSP阶段表格

 预计完成时间实际完成时间时间差原因
功能一编代码以及测试未预计200min因为是第一次接触c#编程,没有估计时间,功能一的每个小功能都是摸索着写的
功能一完善并测试5+60=652+10=1253min编程的时候没有注意输出要求以及格式,导致频繁改动代码,然后测试
功能二编代码以及测试40+10=50min56+5=61min11min由于功能二是在功能一的基础上改动的,所以时间相差不大
功能二完善以及测试10+5=15min50min45min刚开始测试用的是test.txt的小文件运行成功了,后来用大文件the_dead_return测试之后发现输出不符合,开始以为是字符分割出错了,然后用正则表达式过滤符号,结果还是不对,后来才发现是输入文件的输入语句不对,小错误让我入坑好久,好在出来了
功能一和功能二整合以及测试60min158min98min原因是刚开始的题目要求就没有读懂,题目要求控制台命令行输入,然后得到输出,我开始写的程序比如type都是用直接用Console.WriteLine()输出的,后来才发现要用控制命令行输入
功能三60min0min 因为那个目录查询没有思路,就没有继续下去

  四、本周例行报告

1、

 

类型任务预计时间开始时间结束时间中断时间实际用时
c#视频c#基础视频(安装环境,创建项目等) 2017-9-15 12:102017-9-15 14:01 0min 111min
 看书 看《c#程序设计教程》  2017-9-15 15:30 2017-9-15  17:47 休息30min 107min
 写代码 读取.txt文件并输出,运行  2017-9-15  20:20 2017-9-15 20:54 0min 34min
 写博文 写博客2017-9-15 30min 2017-9-15   22:05 2017-9-15 22:25 0min 20min
 看书,查阅 c#程序设计教程,百度  2017-9-16 18:30  2017-9-16 19:30 0min 60min
 写代码  实现功能一  未预计 2017-9-16 19:302017-9-16 23:50 洗衣服洗漱等40min 200min
 写博客 写博客2017-9-16随笔  2017-9-16 23:50 2017-9-16 23:59 0min 9min
 写代码 改进格式对齐 5min 2017-9-17 9:58 2017-9-17 10:00 0min 2min
 写代码 写功能二,不加测试 30min 2017-9-17 10:05 2017-9-17 11:03 喝水2min 56min
 写代码 解决单词个数多一的问题 60min 2017-9-17 15:30 2017-9-17 15:40  10min
 写代码 查阅书籍,百度,完善功能二,完整实现  2017-9-17 15:40 2017-9-17 19:40 上厕所喝水看手机消息60min 180min
 写博客 写博客2017-9-17随笔   2017-9-17 19:50 2017-9-17 20:04  14min
 写代码 整合功能一和功能二,包括测试功能  60min 2017-9-17 20:10 2017-9-18 0:47 回宿舍走路,洗漱,休息120min 158
版本控制版本控制 2017-9-18 13:00

2017-9-18

15:00

和同学交流如何push30min90min
写博客第二周作业 2017-9-18 17:30

2017-9-18 19:30

 120min
版本控制版本控制 2017-9-18 19:302017-9-18 21:00 90min
写博客第二周作业 2017-9-18 22:002017-9-18 23:59 119min

 2、进度条

日期代码行数博文字数知识点
本周2200173c#知识,git版本控制

 

3、代码和博客字数折线图

 

 

 

 

4、psp饼状图

 

五、git链接地址:https://git.coding.net/liusx0303/CountWords.git

转载于:https://www.cnblogs.com/liusx0303/p/7542569.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值