课堂测验

Posted 1061321925wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课堂测验相关的知识,希望对你有一定的参考价值。

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文件保存结果。然后 分割字符串存入数组,进行排序,输出。

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

以上是关于课堂测验的主要内容,如果未能解决你的问题,请参考以下文章

课堂测验

课堂测验-找水王

20172319 2018.04.11 《Java程序设计教程》第7周课堂测验(补写博客)

课堂测验-计算最长英语单词链

java 算法 第三次课堂测验

课堂测验