• 201671010411+巩定定+词频统计软件项目报告


    课程名软件工程
    实验二词频统计软件项目报告
    词频(TF) 是一个词语出现的次数除以该文件的总词语数。
    实验目的 (1)掌握软件项目个人开发流程。
    (2)掌握Github上发布软件项目的操作方法。
    环境配置使用的JDK版本为 jdk8u161,windows版下载链接:
    http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-windows-x64.exe

    •使用的JRE版本为jre8u161,windows版下载链接:
    http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jre-8u161-windows-x64.exe
    实验要求 软件开发要求:
    1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。
    2.程序需要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。
    3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词
                                      在文本中出现的次数和柱状图。
    4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。
    5.统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。

    实验内容:
    需求分析
    1.使用java语言,对存放在java中的W.txt中的所有单词进行统计。
    2.将指定单词统计的结果按照要求显示(按照柱形图的形式显示)。
    3.高频单词的统计功能,输入整数K,按照单词的词频数显示前K个数以及单词。
    4.将单词及词频数按字典顺序输出到文件result.txt.要求代码健壮,代码简介,代码质量高。

    功能设计
    该Java程序实现的功能是进行单词的词频统计,能读取容纳英文原版《哈利波特》10万词以上的文章。进行单词的词频统计,还要绘制柱状图,并实现指定单词词频统计、高频词汇的统计该文本所有单词的数量和对应的词频数......
    测试运行
    ![](https://img2018.cnblogs.com/blog/1614553/201903/1614553-20190320074452706-1909195065.png)
    ![](https://img2018.cnblogs.com/blog/1614553/201903/1614553-20190320012421477-1009715834.png)
    ![](https://img2018.cnblogs.com/blog/1614553/201903/1614553-20190320073550838-319990249.png)
    代码
    //读入《哈利波特》 String line "src/word.txt"; File file = new File(line); InputStreamReader is = new InputStreamReader(new FileInputStream(file), "utf-8"); BufferedReader buff = new BufferedReader(is); List list = new ArrayList();//list中只存放纯单词文本 String readLine = null;//单词列表初始为空 while((readLine = buff.readLine())!=null){ String[] WordsArr = readLine.split("[^a-zA-z]"); for(String word:WordsArr){ if(word.length()!=0){ list.add(word);//将截取后的纯单词放入list } } } buff.close(); WordsCount = new TreeMap();//键值对存储单词信息,String为单词,Integer为单词出现次数 //词频统计(查询单次出现次数,并循环进行累加统计) for(String lists:list){ if(WordsCount.get(lists)!=null){ WordsCount.put(lists, WordsCount.get(lists)+1);//单次出现频次累加 }else{ WordsCount.put(lists, 1); } }

    实验总结:
    在此次实验作业中,发现了很多关于自己在Java编码方面的不足之处,在选择函数的时候会选择错误的时候,最后利用网络资源和书籍解决自己的疑问点。

    展示PSP:

    PSP2.1任务内容计划共完成需求(min)实际完成需求的时间(min)
    PLaning计划200180
    . Estimate. 估计这个任务需求多少时间,并规划大致工作步骤140150
    Development开发150140
    .. Analysis需求分析(包括学习新技术)6050
    . Design Spec. 生成设计文档6055
    . Design Review. 设计复审(和同事审核设计文档)10080
    . Coding Standard代码规范(为目前的开发制定合适的规范180150
    . Designtd>具体设计120100
    . Coding具体编码180170
    . Code Review.代码复审99
    . Test. 测试(自我测试,修改代码,提交修改)6055
    Reporting报告3025
    .. Test Report. 测试报告6040
    . Size Measurement计算工作量6050
    . Postmortem&Process Improvement.事后总结,并提出过程改进计划2020
    完整版代码github账号: https://github.com/Gdd2019/WT
  • 相关阅读:
    蓝桥杯 大数定理
    蓝桥杯 密码发生器
    简单定时器的使用
    Eclipse中更改Project Explorer的字体
    列的别名修改
    ||拼接字符串
    SQL知识总结
    java 打开记事本
    报表使用分组
    js处理异步问题
  • 原文地址:https://www.cnblogs.com/gzy-2019/p/10546240.html
Copyright © 2020-2023  润新知