201671010456-张琼 实验二 词频统计软件项目报

一、需求分析

1.程序要能够读入英文文本,并且要求此文本不能为空。
2.程序能容纳的英文单词要在10万以上。
3.程序要能输入想查找的一个或者多个英文单词,并且统计出它出现的次数,并且把它的统计结果以柱状图的形式显示出来。
4.程序运行结果自动显示该文本的单词总数和每个单词出现的频率。把单词数和词频数按照字典顺序输出到文件result.txt。
5.当在键盘输入高频词的个数k后,进行程序统计功能运行,之后要按照词频数降序排列显示在k之前的每个单词的数量和单词。

二、功能设计

基本功能:能够读入单词并且统计出总词数,并能统计每个单次出现的频率。因为对语言并不是特别熟悉,所以最后的统计功能和柱状图并没有实现。

三、设计实现

  • 运行环境:windows环境 eclipse软件
  • 流程图 ![](https://img2018.cnblogs.com/blog/1614501/201903/1614501-20190319183118069-203933010.png)
  • 程序设计:定义一个主类main,首先读取文件,文件的位置要设置成相对位置。然后进行存储,统计单次出现的频率及其总词数。用迭代遍历关闭流。文件的相对位置存储中,上传的步骤需要清楚。首先新建一个文件,在里面添加进去要扫面统计的文本。 ###四、测试运行 ![](https://img2018.cnblogs.com/blog/1614501/201903/1614501-20190319171051861-1051932470.png) ###五、代码片段展示 相对路径的展示 ``` try{ //使用流的方法读取文件 BufferedReader br = new BufferedReader(new FileReader( "result.txt")); ``` ``` while(it.hasNext()){ Map.Entry entry = it.next();//获取map中每一个键值 //输出结果 System.out.println(entry.getKey()+" "+entry.getValue()); br.close();//关闭流 } System.out.println("单词总数为:"+count+"个");
        }catch(FileNotFoundException e){//
            e.printStackTrace();
        }catch(IOException e){
            e.printStackTrace(); 
        }
    
    ###六、总结
       在本次作业中,遇到的困难很多,花费的时间也很多,因为对语言的不熟悉,所以参考了网上的代码。刚刚拿到这个作业时不会做,翻书复习了java,对个人项目的流程有了一定的掌握。但是柱状图的功能并没有实现。严格意义上来说并没有完成本次作业,只实现了最简单的单词总数统计和词频统计。 里面涉及到了好多函数的应用,有很多都是不会的,意识到数据结构的重要性,而自己对这部分知识的掌握还仅仅停留在做题上。除此之外,对GitHup的操作流程也熟悉了。
    ###七、psp展示
    ||||||||||||||
    |:--|:--|:--|
    |**阶段/时长**|**计划总共需要的完成时间(min)**|**实际完成需要的时间(min)**|
    |计划|10|10|
    |估计需要时间,并计划大致工作步骤|10|10|
    |开发|90|150|
    |需求分析|15|20|
    |生成设计文档|30|20|
    |设计复审|5|5|
    |代码规范|5|5|
    |具体设计|10|15|
    |具体编码|90|240|
    |代码复审|10|5|
    |测试|10|10|
    |报告|5|3|
    |测试报告|5|5|
    |计算报告量|10|10|
    |总结,并提出改进计划|20|25|
    源代码地址:https://github.com/ZhangQiong1/program1
posted @ 2019-03-19 20:20  张琼*  阅读(224)  评论(2编辑  收藏  举报