zoukankan      html  css  js  c++  java
  • 201671030102陈飞 词频统计软件项目报告

    我的GitHub仓库

    链接

    1需求分析

    根据实验二 软件工程个人项目分析

        1、程序可读入文本文件,且文本文件大小不定,文件路径为相对路径
        2、指定单词词频统计功能,可多个输入并且输出柱状图
        3、统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。
        4、可按文本中词频数降序显示前k个单词的词频及单词
        5、使用java开发,且jdk环境为jdk8u161,jre环境为jre8u161
    

    2功能设计

    ·基本功能:
        1、指定单词词频统计功能
        2、高频词统计功能
        3、统计该文本所有单词数量及词频数
    ·拓展功能:
           无
    

    3设计实现

    开发所使用类:

    1、main类

            主程序(包括所有函数)
    

    2、word类

               单词类,存储单词和出现次数
    

    核心函数

        1、lass SortByWord implements Comparator 按字典排序
        2、public static void sr()输入词汇统计
        3、public static void pxs()高频词汇统计
    

    测试运行

    开始执行

    部分功能展示

    result.txt部分内容展示

    代码展示:

    1、文件录入和词汇分割

    try {
    			if(file.exists()) {
    			file.createNewFile();
    			}
    			Scanner fl=new Scanner(file);
    			while(fl.hasNext())
    			{	
    				word=fl.nextLine();
    				words=word.split(""|,|!|\?|“|”|\.|…|`|\(|\)|-|—|‘|’|&|\'|:|;|
    |\,| ");
    				for(int i=0;i<words.length;i++)
    				{
    					add(words[i]);
    					sumnu++;
    				}
    

    2、统计该文本所有单词数量及词频数并输出到文件result.txt

    Collections.sort(sum, new  SortByWord());
    		File file=new File("result.txt");
    		try {
    			if(file.exists()) {
    				file.createNewFile();
    				}
    			FileWriter fop = new FileWriter(file.getAbsoluteFile());
    			for(Word s : sum )
    			{
    				fop.write(s.getWord()+":"+s.getNumber()+"
    ");
    			}
    			fop.close();
    		}catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		System.out.println("写入结束");
    

    总结

       根据分析所得到的要求。操作的对象为单词,创建单词类并给予我们所需要使用的属性。主类、设计到文件的处理及其所有函数的统一调配。根据所需功能创建不同的函数,以次来实现不同模块的划分。
    

    psp2.1展示:

    PSP2.1 计划共完成需要的时间(min) 实际完成需要的时间(min)
    Planning 10 5
    Estimate 5 1
    Development 225 181
    Analysis 30 10
    Design Spec 20 10
    Design Review 0 0
    Coding Standard 30 5
    Design 10 5
    Coding 60 100
    Code Review 10 5
    Test 20 30
    Reporting 10 5
    Test Report 0 0
    Size Measurement 0 0
    Postmortem & Process Improvement Plan 20 5
  • 相关阅读:
    洛谷P2568 GCD
    线段树(模板)
    题解 CF1296D 【Fight with Monsters】
    图片针对父元素居中 TileImg
    npm
    echarts线图,柱状图,饼图option
    mac下修改环境变量
    input获取焦点,但不调起键盘
    mac shh 关联git仓库
    根据滚动条触发动画
  • 原文地址:https://www.cnblogs.com/ChenFei23/p/10555899.html
Copyright © 2011-2022 走看看