课堂作业及感想

源码:

package pers.liqin.tongji.danci;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TongJi 
{

    public static String inputString = new String();      //inputString  键盘输入的字符串
    public static String filePath = new String("D:/学习/java/content.txt");    //filePath  文件存储路径
    public static String fileContent = new String();     //fileContent   文件内容
    public static HashMap<String, Integer> wordsCount = new HashMap<String, Integer>();      //wordsCount   存放单词和对应数目的HashMap
 
    /**
     * <p>
     * Title: main
     * </p>
     * <p>
     * Description:main方法,程序的入口
     * </p>
     * 
     * @param args
     * 
     */
    public static void main(String[] args) 
    {
        input();
        try 
        {
            writeFile(inputString, filePath);
            fileContent = readFile(new File(filePath));
        } catch (Exception e) {
            e.printStackTrace();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
        }
        output(fileContent);
    }
    public static void input() 
    {
        System.out.println("请输入要保存到txt中的内容:");
        Scanner scanner = new Scanner(System.in);
        inputString = scanner.nextLine();
        scanner.close();
        System.out.println("文本扫描成功!");
    }
 
    /**
     * <p>
     * Title: output
     * </p>
     * <p>
     * Description:统计输出单词和其对应数目
     * </p>
     * 
     * @param outputString
     * 
     */
    public static void output(String outputString) 
    {
        countWords();
        System.out.println("输入的文本中共有" + wordsCount.size() + "个英语单词。");
        System.out.println("统计分析如下(已忽略大小写):");
        for (Iterator<String> iterator = wordsCount.keySet().iterator(); iterator
                .hasNext();) {
            String words = (String) iterator.next();
            int num1 = wordsCount.get(words);
            System.out.println("\"" + words + "\"出现了" + num1 + "次");
        }
    }
 
    /**
     * <p>
     * Title: countWords
     * </p>
     * <p>
     * Description:用HashMap保存每个单词出现的次数
     * </p>
     * 
     */
    public static void countWords() 
    {
        Pattern expression = Pattern.compile("[a-zA-Z]+");// 定义正则表达式匹配单词
        String string1 = fileContent.toLowerCase();// 转换成小写
        Matcher matcher = expression.matcher(string1);
        String word = null;// 文章中的单词
        while (matcher.find()) {// 是否匹配单词
            word = matcher.group();// 得到一个单词-树映射的键
            if (wordsCount.containsKey(word)) {
                wordsCount.put(word, wordsCount.get(word) + 1);
            } else {
                wordsCount.put(word, 1);
            }
        }
    }
 
    /**
     * <p>
     * Title: writeFile
     * </p>
     * <p>
     * Description:写入文件
     * </p>
     * 
     * @param str
     *            要保存的内容
     * @param savePath
     *            保存的文件路径
     * @throws Exception
     *             找不到路径
     * 
     */
    public static void writeFile(String str, String savePath) throws Exception 
    {
        System.out.println("txt保存路径是:" + savePath);
        BufferedWriter bw = new BufferedWriter(new FileWriter(savePath));
        System.out.println("txt创建成功!");
        bw.write(str);
        System.out.println("文本内容存储到txt中成功!");
        bw.close();
 
    }
 
    /**
     * <p>
     * Title: readFile
     * </p>
     * <p>
     * Description:读取文件
     * </p>
     * 
     * @param file
     * @return 文件内容
     * @throws Exception
     * 
     */
    public static String readFile(File file) throws Exception 
    {
        BufferedReader br = new BufferedReader(new FileReader(file));
        System.out.println("打开文件成功!");
        StringBuffer sbf = new StringBuffer("");
        String line = null;
        while ((line = br.readLine()) != null) 
        {
            sbf.append(line).append("\r\n");// 按行读取,追加换行\r\n
        }
        System.out.println("文件内容读取成功!");
        br.close();
        return sbf.toString();
    }
}

截图:

感想:本次编程本想着自己很难完成,但将问题分解开主要是要实现两个功能:1,将英语文章输入文件中,2,判断文章中单词重复出现的次数、第一个功能好办,我很快就把相关的代码写出来了,第二个功能如何实现我没有头绪,于是从网上查找相关的代码,判断并理解他们的代码最终与自己的代码相结合经过反复的修改终于实现了这个功能。我认为我在平时应该多看多学习他人写的代码,这样自己的编程能力才会提高。

猜你喜欢

转载自www.cnblogs.com/lq13035130506/p/9775643.html