import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
public class count {
public static void main(String args[]) {
HashMap<Character, Integer> result = getcharmaps();
System.out.println(result);// 打印出字符串中各字符出现的次数!
}
public static HashMap<Character, Integer> getcharmaps() {
HashMap<Character, Integer> map = new HashMap<Character, Integer>();
String s=null;
int sum = 0;//用来记录换行符
int i = 0;
try {
FileReader fr=new FileReader("D:\\实验文件夹\\统计字符频率.txt");
BufferedReader br=new BufferedReader(fr);
while((s=br.readLine())!=null){
sum++;
for (i = 0; i < s.length(); i++) {
Character c = s.charAt(i);
Integer count1 = map.get(c);
map.put(c, count1 == null ? 1 : count1 + 1);
}
}
fr.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return map;
}
}
分享到:
相关推荐
在这个程序中,我们首先创建了一个HashMap`counter`来存储字符计数。然后,我们使用`BufferedReader`逐行读取文件内容,对每一行的字符进行计数。最后,我们遍历HashMap并打印出每个字符及其出现的次数。 在提供的...
在Java编程中,统计文本文件中字母出现的频率是一项常见的任务,这可以帮助我们理解文本的特性,例如在语言模型或信息检索系统中。这个任务的关键是读取文件内容,转换为字符数组,然后进行计数。以下是实现这个功能...
在Java中,可以使用`java.util.PriorityQueue`实现最小堆,`java.util.HashMap`用于存储字符频率和编码。`java.io`包提供了输入/输出流接口,用于读写文件。在实际项目中,可能还需要处理边界情况,例如文件读取错误...
这通常通过遍历文件并使用HashMap或TreeMap等数据结构存储字符及其频率来完成。 2. **构建Huffman树**:根据频率创建Huffman树。初始时,每个字符都是一个单节点的二叉树,然后将频率最小的两个节点合并为一个新的...
6. **Java实现**:在Java中,可以使用`java.util.Map`存储字符频率和编码表,使用`java.util.PriorityQueue`构建Huffman树。`java.io`包中的类用于文件的读写操作。编码和解码过程可以通过迭代或递归实现。 需要...
在本项目中,我们主要探讨的是如何利用Java编程语言来实现对英文文献中字母出现频率的统计,并将结果以直方图的形式展示出来。这个任务涉及到计算机科学中的文本处理、数据统计以及图形可视化等多个关键知识点。 ...
我们的目标是对这个文件进行读取,然后对一系列查询单词进行搜索,并计算每个单词在文件中的出现频率。 在Java中,我们可以使用`java.io`包中的`BufferedReader`类来读取文件。首先,创建一个`FileReader`对象,将...
可以使用`HashMap`存储词与词频,然后转换为`List, Integer>>`,利用`Collections.sort()`进行排序,自定义比较器基于词频进行比较。 7. **五子棋游戏**:开发棋盘游戏涉及图形用户界面(GUI)和算法设计。Java ...
- 为了存储和处理字母频率,项目可能会使用哈希表(如HashMap)或数组来记录每个字母及其出现的次数。 7. **文件I/O操作**: - Java的`java.io`包提供了读取和写入文件的API,项目中使用它们来加载文本文件并输出...
以上三道题目展示了Java在数据处理、文件操作以及文本分析方面的能力,涵盖了基础的数据结构(如HashMap)和I/O流的使用,同时也涉及到了简单的算法应用,是Java竞赛编程中常见的类型。通过解决这类问题,可以提升对...
在实际应用中,Java的IO流和集合框架(如ArrayList、HashMap等)是实现这些功能的关键工具。同时,理解二叉树和优先队列的原理对于理解霍夫曼编码的工作方式至关重要。通过这个项目,你可以深入学习到如何将理论知识...
在Java中,实现这样的功能可能涉及`java.io`和`java.nio`包的类,如`BufferedReader`、`FileInputStream`、`FileOutputStream`等用于文件读写,以及`TreeMap`或`HashMap`来存储字符频率和霍夫曼编码。此外,自定义的...
在便签应用中,可能利用了Apache Commons的IO组件来读写文件,或者使用Lang组件处理字符串,提高代码效率。 进入具体的源码分析,我们可能会发现以下几个关键模块: 1. 数据存储:Android提供了SQLite数据库系统,...
实验中的第3题要求统计字符串中每个字符的出现次数,这可以通过遍历字符串,使用HashMap或者频率计数类来实现。 3. **泛型**:泛型是Java SE 5.0引入的新特性,允许在类、接口和方法中使用类型参数,提高了代码的...
总的来说,"yyc.rar_单词本java" 是一个基于Java的文本处理工具,它利用Java的文件读写、字符串处理和数据结构等特性,实现了对英文文章的单词统计,为用户提供了一种便捷的单词频率分析手段。对于学习Java编程和...
- 可能会用到`HashMap`或`ArrayList`来存储字母及其对应的频率,便于后续绘制。 7. **图形渲染**: - 根据字母频率计算柱状图的宽度和位置,更新`JPanel`的内容。 - `repaint()`方法刷新组件,使修改后的图形...
"WordCount"是一个典型的例子,它用于统计文本中的单词出现频率。在这个案例中,我们讨论的是一个名为"WordCount"的Java程序,它实现了对指定目录下所有文本文件中的英文单词进行计数的功能。 首先,我们需要理解`...
4. **统计词频**:使用数据结构(如`HashMap`)存储每个单词及其出现次数。遍历分词结果,每次遇到一个单词,如果在地图中已经存在,则增加计数;如果不存在,则添加新条目并初始化计数为1。 5. **结果输出**:遍历...
3. **单词处理**:对每个读取到的单词,我们可以将其转换为字符数组,然后使用一个HashMap记录每个字母出现的次数。这样,每个单词就变成了一个字母频率的映射。 4. **比较单词**:使用两个单词的字母频率映射进行...
3. **数据结构选择**:为了存储每个单词及其出现次数,可以选择使用哈希映射(HashMap)。`java.util.HashMap`是Java中实现映射数据结构的关键类,它允许我们以O(1)的时间复杂度进行查找和插入操作。 4. **词频统计...