`
chenjohney
  • 浏览: 40179 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

使用 HashMap统计文章单词

阅读更多
package johney;

/**
 * 该项止主要查找英语文章中统计出现的单词和次数
 */
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class MyHashMap {

	/**
	 * @param args
	 */
	static HashMap<String, Integer> map;
	File file;
	static String pathname = "abc.txt";
	static FileInputStream fis;
	static String word;// 用来存放抒情诗字符
	static Set set;
	static Iterator iterator;
	static char temp;
	static int count;
	static int i = 0;
	static int number = 1;
	static boolean state = false;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		map = new HashMap<String, Integer>();
		File file = new File(pathname);
		try {
			fis = new FileInputStream(file);
			// System.out.println("The file is exists!");
			count = fis.read();
			// 文件未读完
			while (count != -1) {
				// 转为字符
				temp = (char) count;
				// 若为字母
				if ((temp >= 'a' && temp <= 'z')
						|| (temp >= 'A' && temp <= 'Z')) {
					word = word + temp;
					state = true;
					// System.out.println(word);
				}
				// 若不为字符
				else if (state){
					// 若单词已经存在在映射表map中
					if (word !=" ") {
						if (map.containsKey(word)) {
							number = map.get(word);
							number++;
							map.put(word, number);
							number = 1;
						} else {
							map.put(word, number);
						}
						state = false;
					}
					word = " ";
				}
				// 根据文件格式进行处理
				count = fis.read();
				count = fis.read();
			}
			// 关闭读写流及文件
			fis.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		// 输出map的内容
		// 获取全部键
		set = map.keySet();
		iterator = set.iterator();
		while (iterator.hasNext()) {
			word = (String) iterator.next();
			number = map.get(word);
			System.out.println(word + ":" + number);
		}
	}

}
分享到:
评论

相关推荐

    Java面试宝典2010版

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\...

    最新Java面试宝典pdf版

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 61 2、编写一个程序,将d:\java目录下的所有.java文件复制到d...

    Java面试笔试资料大全

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 61 2、编写一个程序,将d:\java目录下的所有.java文件复制到d...

    Java面试宝典-经典

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 61 2、编写一个程序,将d:\java目录下的所有.java文件复制到d...

    JAVA面试宝典2010

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 61 2、编写一个程序,将d:\java目录下的所有.java文件复制到d...

    java面试题大全(2012版)

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 61 2、编写一个程序,将d:\java目录下的所有.java文件复制到d...

    Java面试宝典2012版

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 61 2、编写一个程序,将d:\java目录下的所有.java文件复制到...

    java面试宝典2012

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 67 2、编写一个程序,将d:\java目录下的所有.java文件复制到d...

    Java面试宝典2012新版

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 61 2、编写一个程序,将d:\java目录下的所有.java文件复制到d...

    Java 面试宝典

    10、使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? .................................................................................................................................

Global site tag (gtag.js) - Google Analytics