• 单词统计作业


     1 package j;
     2 
     3     import java.io.BufferedReader;
     4     import java.io.BufferedWriter;
     5     import java.io.FileReader;
     6     import java.io.FileWriter;
     7     import java.io.IOException;
     8     import java.util.Iterator;
     9     import java.util.TreeMap;
    10     import java.util.regex.Matcher;
    11     import java.util.regex.Pattern;
    12     public class lolo{
    13 
    14         public static void main(String[] args) throws IOException {
    15             String addr="C:/cjf/123.txt"; 
    16             BufferedReader bufr = new BufferedReader(new FileReader(addr));
    17             StringBuffer sbuf = new StringBuffer();
    18             String line = null;
    19             while ((line = bufr.readLine()) != null) {
    20                 sbuf.append(line);
    21             }
    22             bufr.close();
    23             Pattern expression = Pattern.compile("[a-zA-Z]+");
    24             String str1 = sbuf.toString().toLowerCase();
    25             Matcher matcher = expression.matcher(str1);
    26             TreeMap myTreeMap = new TreeMap();
    27             int n = 0;
    28             Object word = null;
    29             Object num = null;
    30             while (matcher.find()) {
    31                 word = matcher.group();
    32                 n++;
    33                 if (myTreeMap.containsKey(word)) {
    34                     num = myTreeMap.get(word);
    35                     Integer count = (Integer) num;
    36                     myTreeMap.put(word, count.intValue() + 1);
    37                 } else {
    38                     myTreeMap.put(word, new Integer(1));
    39                 }
    40             }
    41             System.out.println("文章内容如下:");
    42             System.out.println(str1);
    43             System.out.println("统计分析如下:");
    44             System.out.println("文章中单词总数:" + n+"个");
    45             System.out.println("具体的信息在当前目录的lwl.txt文件中");
    46             BufferedWriter bufw=new BufferedWriter(new FileWriter("C:/cjf/456.txt"));
    47             Iterator iter=myTreeMap.keySet().iterator();
    48             Object key=null;
    49             bufw.write("文件来自:"+addr+"内容如下:");
    50             bufw.write(sbuf.toString());
    51             bufw.newLine();
    52             while(iter.hasNext()){
    53                  key=iter.next();
    54                  System.out.println(key+":"+myTreeMap.get(key));
    55                  
    56                  bufw.write((String)key+":"+myTreeMap.get(key));
    57                  bufw.newLine();
    58             }
    59             bufw.write("统计分析如下:");
    60             bufw.write("文章中单词总数:" + n+"个");
    61             bufw.newLine();
    62             bufw.write("文章中不同单词总数:" + myTreeMap.size()+"个");
    63             bufw.close();
    64         
    65 }}

     思路:在程序外建两个写英文段落的txt文档,用于程序内访问使用,中间的核心代码参考了网上的方法;

    感想:建立文档很容易,在程序中使用也参考资料就很容易掌握,关键是中间的核心操作代码参考了网上的代码,虽然是看懂了,但还是缺乏自己思考的能力,以后还是要练习。

  • 相关阅读:
    Log4Net 自定义级别,分别记录到不同的文件中
    带着忧伤,寻觅快乐
    程序员进阶学习书籍
    PHP编码技巧
    PHP精度问题
    Laravel5 构造器高级查询条件写法
    正则表达式 /i /g /m /ig /gi
    MySQL运算符的优先级
    PHP获取当前页面完整路径URL
    使用ssl模块配置同时支持http和https并存
  • 原文地址:https://www.cnblogs.com/cuijunfeng/p/9775463.html
Copyright © 2020-2023  润新知