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);
}
}
}
分享到:
相关推荐
3. **统计词频**:使用`HashMap`来存储单词及其出现的次数。遍历处理后的单词数组,每次遇到一个单词,如果不在字典中,添加到字典并设置计数为1;如果已经在字典中,将其计数加1。 ```java Map, Integer> ...
在Java中,可以使用`BufferedReader`类读取文件,`String.split()`方法进行单词切分,并使用哈希表(如`HashMap`)存储每个单词及其出现的次数。`WordNum.java`可能就是负责这部分功能的类。 接下来,根据统计结果...
3. `countWords`方法:统计每个单词的出现次数,可能使用哈希表(如`HashMap`)来存储结果。 4. `sortAndDisplay`方法:对单词及其计数进行排序,并在GUI的右边对话框中显示。 5. `JFrame`实例化:创建GUI窗口,并...
在Java编程语言中,分析英文...通过以上步骤,我们能够使用Java完成分析英文文章并统计每个字母出现次数的任务。这涉及到了文件I/O、字符处理、数据结构(HashMap)和基本的排序算法,这些都是Java开发中的基础技能。
在Java编程语言中,快速统计文章词频是一项常见的任务,特别是在文本分析、自然语言处理(NLP)和信息检索等领域。这项任务的目标是计算出文本中每个单词出现的次数,以便了解文本的主要主题或者关键词。以下是一些...
4. 集合框架,如HashMap用于存储单词和频率。 5. MVC设计模式的理解和应用。 6. Spring框架的基本使用,如果选择使用Spring。 7. UI设计和事件驱动编程,如Swing或JavaFX用于构建图形用户界面。 8. 数据结构和算法,...
4. **数据结构**:为了存储和统计单词,程序可能会用到哈希表(HashMap)或者集合(ArrayList)等数据结构,以高效地进行单词查找和计数。 5. **用户界面**:虽然描述中没有明确提及,但为了方便用户交互,程序可能...
4. **词频统计**:使用哈希表(如Java的`HashMap`)存储每个单词及其出现次数,可以高效地进行词频统计。哈希表的查找和插入操作时间复杂度为O(1)。 5. **排序算法**:统计完成后,需要对词频进行排序,可以使用...
本文主要介绍如何使用Java语言来统计一段英文句子中出现次数最多的单词及其出现的次数。在实现该功能时,涉及到多个Java编程技巧,包括字符串处理、正则表达式应用、映射建立、遍历操作和数据统计等。 首先,为了...
这需要实现一个搜索算法,例如简单的线性搜索,或者更高效的数据结构如哈希表(HashMap)来存储已统计的单词及其信息。当用户输入查询词时,系统会查找哈希表并返回结果。 此外,系统设计中可能还包括用户界面(UI...
// 统计每个单词之后出现的单词及其频率 for (int i = 0; i ; i++) { String currentWord = words[i]; String nextWord = words[i + 1]; if (!markovChain.containsKey(currentWord)) { markovChain.put(current...
- **单词计数**:通过哈希表可以轻松统计文章中每个单词出现的次数,这对于计算词频、识别关键词等分析非常有用。 - **词汇分布**:分析单词的出现频率可以帮助理解文本的词汇分布,如最常见的单词、最不常见的...
本文介绍了Java编程实现统计数组中各元素出现次数的方法,涵盖了数组遍历、HashMap的使用、Iterator的使用、Map.Entry的使用、运算符的使用、控制结构的使用和打印语句的使用等多个知识点。希望本文对大家的Java程序...
- **实现思路**:可以通过将文章中的内容分割成单词,然后使用`HashMap`来记录每个单词出现的次数。具体步骤如下: - 使用正则表达式分割文章内容,得到单词列表。 - 遍历单词列表,使用`HashMap`记录每个单词...
在实际应用中,例如统计文本中单词出现的次数,Bag就非常适用。Bag通常提供添加、删除、检查元素存在以及获取元素数量等操作。 下面我们将深入探讨如何在Java中实现一个简单的Bag: 1. **定义类结构**: 首先,...
3. **词频统计**:创建一个数据结构(如HashMap或TreeMap)来存储单词及其出现次数。遍历分词结果,对每个单词进行计数。 4. **结果输出**:最后,将统计结果以某种格式(如按频率降序排列)展示给用户。 在实践中...
通过实践,尝试使用不同的集合类型解决实际问题,例如,统计一段文本中单词出现的频率,或管理一个在线课程的注册学生名单。 ### 附录:排序 排序是处理集合数据的重要操作,Java集合框架提供了`Collections.sort...
9. **文本处理**:"统计文章中英文单词个数.txt"可能涉及到字符串处理和正则表达式,这些都是Java编程中常见的文本处理任务。 10. **编程实践**:"用java实现一个栈结构.txt"和"作的题.txt"可能包含实际编程题目,...
在MarkovTextGenerator项目中,开发者可能使用了HashMap或TreeMap来存储单词及其后续单词的概率,同时利用ArrayList或LinkedList来管理生成的文本序列。Java的面向对象特性也有助于代码的组织和复用。 此外,项目...