java 统计多个txt文件的字母出现次数之和
时间: 2023-11-15 13:05:07 浏览: 48
可以通过以下步骤实现:
1. 定义一个HashMap来存储每个字母出现的次数。
2. 遍历每个txt文件,使用BufferedReader逐行读取文件内容。
3. 对于每行文本,遍历每个字符,如果该字符是字母,则将它的出现次数加1。
4. 统计完所有txt文件中每个字母的出现次数之和。
5. 输出结果。
以下是一个简单的Java代码示例:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class TxtFileLetterCount {
public static void main(String[] args) {
Map<Character, Integer> letterCountMap = new HashMap<>();
String[] fileNames = {"file1.txt", "file2.txt", "file3.txt"};
for (String fileName : fileNames) {
try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
String line;
while ((line = reader.readLine()) != null) {
for (char c : line.toCharArray()) {
if (Character.isLetter(c)) {
char lowercaseChar = Character.toLowerCase(c);
letterCountMap.put(lowercaseChar, letterCountMap.getOrDefault(lowercaseChar, 0) + 1);
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
for (char c = 'a'; c <= 'z'; c++) {
int count = letterCountMap.getOrDefault(c, 0);
System.out.println(c + ": " + count);
}
}
}
```
在上面的代码中,我们将每个字母的出现次数存储在一个HashMap中。文件名被硬编码为一个字符串数组,可以根据需要进行修改。我们遍历每个txt文件,对于每个文件,我们使用BufferedReader逐行读取文件内容。对于每行文本,我们遍历每个字符,如果该字符是字母,则将它的出现次数加1。遍历完所有txt文件后,我们将所有字母的出现次数加起来,并输出结果。