zoukankan      html  css  js  c++  java
  • 统计英文字母

         设计思路:

    首先读取英文文件,然后每次读取一个字母, 判断单词是否存在于word ,每次读取一个字母直到最后,如果字符为换行。空格,单引号,双引号,逗号,句号 则为一个单词的结束及另一个单词的开始,如果单词在单词链中存在则单词数++,如果不存在则在单词链中添加 然后利用循环语句找到单词链中个数最多的 输出单词链中个数最多的 

            import java.io.BufferedReader;
        import java.io.BufferedWriter;
        import java.io.FileReader;
        import java.io.FileWriter;
        import java.io.IOException;
        import java.util.Iterator;
        import java.util.TreeMap;
        import java.util.regex.Matcher;
        import java.util.regex.Pattern;
        public class Zimu {
    
            public static void main(String[] args) throws IOException {
                String addr="指定的文本路径"; 
                BufferedReader bufr = new BufferedReader(new FileReader(addr));
                StringBuffer sbuf = new StringBuffer();
                String line = null;
                while ((line = bufr.readLine()) != null) {
                    sbuf.append(line);
                }
                bufr.close();
                Pattern expression = Pattern.compile("[a-zA-Z]+");
                String str1 = sbuf.toString().toLowerCase();
                Matcher matcher = expression.matcher(str1);
                TreeMap myTreeMap = new TreeMap();
                int n = 0;
                Object word = null;
                Object num = null; 
                while (matcher.find()) {
                    word = matcher.group();
                    n++;// 
                    if (myTreeMap.containsKey(word)) {
                        num = myTreeMap.get(word);
                        Integer count = (Integer) num;
                        myTreeMap.put(word, count.intValue() + 1);
                    } else {
                        myTreeMap.put(word, new Integer(1));// 
                    }
                }
                System.out.println("文章内容如下:");
                System.out.println(str1);
                System.out.println("统计分析如下:");
                System.out.println("文章中单词总数:" + n+"个");
                System.out.println("具体的信息在当前目录的lwl.txt文件中");
                BufferedWriter bufw=new BufferedWriter(new FileWriter("C:/ijm/lwl.txt"));
                Iterator iter=myTreeMap.keySet().iterator();
                Object key=null;
                bufw.write("文件来自:"+addr+"内容如下:");
                bufw.write(sbuf.toString());
                bufw.newLine();
                while(iter.hasNext()){
                     key=iter.next();
                     System.out.println(key+":"+myTreeMap.get(key));
                     
                     bufw.write((String)key+":"+myTreeMap.get(key));
                     bufw.newLine();
                }
                bufw.write("统计分析如下:");
                bufw.write("文章中单词总数:" + n+"个");
                bufw.newLine();
                bufw.write("文章中不同单词总数:" + myTreeMap.size()+"个");
                bufw.close();
            
    }
            }
    
    
  • 相关阅读:
    Generator 函数的异步应用
    Generator 函数的语法
    10 个最佳的 Node.js 的 MVC 框架
    Node.js 框架对比之 Express VS Koa
    JavaScript资源分享
    【转载】Web 研发模式演变
    学习资源整理
    超高影响力开源大放送,学习开发必备教科书
    LVS + KEEPALIVED + WINDOWS SERVER 2008 R2 ------高可用负载均衡(转)
    LVS DR模式 RealServer 为 Windows 2008 R2配置
  • 原文地址:https://www.cnblogs.com/adret/p/9775697.html
Copyright © 2011-2022 走看看