zoukankan      html  css  js  c++  java
  • 课堂测验

    package 查重操作;
    
    import java.io.*;
    
    import java.util.*;
    
    import java.util.Map.Entry;
    
    public class find {
    
    	public static void main(String[] args) {
    
    		long t1 = System.currentTimeMillis();
    
    		String s;
    
    		String fileName1 = "D:/wlx.txt";
    
    		String fileName2 = "D:/result.txt";
    
    		try {
    
    			BufferedReader br = new BufferedReader(new FileReader(fileName1));
    
    			BufferedWriter bw = new BufferedWriter(new FileWriter(fileName2));
    
    			StringBuffer sb = new StringBuffer();
    
    			//将文件内容存入StringBuffer中
    
    			while((s = br.readLine()) != null) {
    
    				sb.append(s);
    
    			}
    
    			String str = sb.toString().toLowerCase();
    
    			//分隔字符串并存入数组
    
    			String[] elements = str.split("[^a-zA-Z0-9]+");
    
    			int count = 0;
    
    			Map<String, Integer> myTreeMap = new TreeMap<String, Integer>();
    
    			//遍历数组将其存入Map<String, Integer>中
    
    			for(int i = 0; i < elements.length; i++) {
    
    				if(myTreeMap.containsKey(elements[i])) {
    
    					count = myTreeMap.get(elements[i]);
    
    					myTreeMap.put(elements[i], count + 1);
    
    				}
    
    				else {
    
    					myTreeMap.put(elements[i], 1);
    
    				}
    
    			}                                          
    
    			System.out.println("单词统计的结果请见当前目录result.txt文件");
    
    			//将map.entrySet()转换成list
    
    			List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(myTreeMap.entrySet());
    
    			//通过比较器实现排序
    
    			Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
    
    				//降序排序
    
    				public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
    
    					return o2.getValue().compareTo(o1.getValue());
    
    				}
    
    			});
    
    			int num = 1;
    
    			//将结果写入文件
    
    			for(Map.Entry<String, Integer> map : list) {
    
    				if(num <= 10) {
    
    					bw.write("出现次数第" + num + "的单词为:" + map.getKey() + ",出现频率为" + map.getValue() + "次");
    
    					bw.newLine();
    
    					System.out.println(map.getKey() + ":" + map.getValue());
    
    					num++;
    
    				}
    
    				else break;
    
    			}
    
    			bw.write("耗时:" + (System.currentTimeMillis() - t1) + "ms");
    
    			br.close();
    
    			bw.close();
    
    			System.out.println("耗时:" + (System.currentTimeMillis() - t1) + "ms");
    
    		} catch (FileNotFoundException e) {
    
    			System.out.println("找不到指定文件!");
    
    		} catch (IOException e) {                                    
    
    			System.out.println("文件读取错误!");
    
    		}
    
    	}
    
    }
    

      思路:先在d盘创建txt文件,里面存储上英文文章,在自动创建一个txt文件保存结果。然后 分割字符串存入数组,进行排序,输出。

    感想:感觉有点难,在网上找了一些资料学习,借鉴了一些,

  • 相关阅读:
    python学习day7
    python学习day4
    python 学习day6(面向对象)
    python 学习day5(模块)
    python学习之正则表达式
    python作业day4计算器
    python作业day3修改配置文件
    Python作业day2购物车
    python学习day2(二)
    操作系统 银行家算法
  • 原文地址:https://www.cnblogs.com/1061321925wu/p/9775421.html
Copyright © 2011-2022 走看看