zoukankan      html  css  js  c++  java
  • 20200917-2 词频统计

    此次作业的要求参见[https://edu.cnblogs.com/campus/nenu/2020Fall/homework/11206]

    代码及版本控制
    我的代码地址:https://github.com/18244088809/test
    coding.net:https://e.coding.net/qqq2/wf/wf.git

    词频统计 SPEC
    老五在寝室吹牛他熟读过《鲁滨逊漂流记》,在女生面前吹牛热爱《呼啸山庄》《简爱》和《飘》,在你面前说通读了《战争与和平》。但是,他的四级至今没过。你们几个私下商量,这几本大作的单词量怎么可能低于四级,大家听说你学习《构建之法》,一致推举你写个程序名字叫wf,统计英文作品的单词量并给出每个单词出现的次数,准备用于打脸老五。

    希望实现以下效果。以下效果中数字纯属编造。

    参考杨萍师姐的代码,非自己实现。
    功能1 小文件输入。 为表明程序能跑,结果真实而不是迫害老五,请他亲自键
    盘在控制台下输入命令。

    为了评估老五的词汇量而不是阅读量,total一项中相同的单词不重复计数数,出现2
    次的very计数1次。

    因为用过控制台和命令行,你早就知道,上面的">"叫做命令提示符,是操作系统的一部分,而不是你的程序的一部分。
    代码:

    if ("-s".equals(args[0])){
        String path = "D:/redirect/" + args[1] + ".txt";
        try {
            textCount(path);
        } catch (Exception ex) {
            System.out.println("请重新输入");
        }
    }
    

    功能2 支持命令行输入英文作品的文件名,请老五亲自录入。
    测试1:

    测试2:

    功能3 支持命令行输入存储有英文作品文件的目录名,批量统计。

    代码:

    else if ("-f".equals(args[0])){
    			
        String path1 = args[1];
        File file = new File(path1);
        if (file.isDirectory()) {
            File[] filelist = file.listFiles();
            for (File filePath : filelist) {
                try {
                    String s = filePath.getPath();
                    System.out.println(filePath.getName());
                    textCount(s);
               } catch (Exception ex) {
                   System.out.println("请重新输入");
               }
            }
        }
    }
    

    功能4 从控制台读入英文单篇作品,这不是为了打脸老五,而是为了向你女朋
    友炫酷,表明你能提供更适合嵌入脚本中的作品(或者如她所说,不过是更灵活
    的接口)。

    代码:

    else if("-s".equals(args[0])){
    			
        try {
            TxtCount();
        } catch (Exception ex) {
            System.out.println("请输入正确的命令");
        }
    }
    
    public static void TxtCount() throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));// 从字符输入流中读取文本并缓冲字符
        List<String> list = new ArrayList<String>(); // 存储过滤后单词的列表
        String readLine = null;
        while ((readLine = br.readLine()) != null) {
            String[] wordsArr = readLine.split("[^a-zA-Z]"); // 过滤掉除字母以外的字符
            for (String word : wordsArr) {
                if (word.length() != 0) { // 去除长度为0的行
    	        list.add(word);
    	    }
    	}
        }
        br.close();
        WordCount(list); // 单词量统计
    }
    

    PSP

  • 相关阅读:
    读写分离
    使用xtrabackup对不同版本的mysql进行备份还原
    tomcat开启管理页面
    面试简单整理之rabbitmq
    面试简单整理之zookeeper
    面试简单整理之mybatis
    面试简单整理之spring、spring mvc
    面试简单整理之Redis
    记一次菜鸟的惊心动魄(另求原因和说明)
    面试简单整理之IO
  • 原文地址:https://www.cnblogs.com/dul843/p/13702412.html
Copyright © 2011-2022 走看看