编写Java程序,随机产生1000个小写英文字母,并写入到"lettter.dat"文件中,读取该文件统计每个字母个出现了几次,并打印出来
时间: 2024-03-07 07:48:52 浏览: 19
好的,以下是Java程序代码:
```java
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
try {
// 随机产生1000个小写英文字母,并写入到"lettter.dat"文件中
FileWriter writer = new FileWriter("lettter.dat");
Random rand = new Random();
for (int i = 0; i < 1000; i++) {
char ch = (char) (rand.nextInt(26) + 'a');
writer.write(ch);
}
writer.close();
// 读取该文件并统计每个字母出现的次数
FileReader reader = new FileReader("lettter.dat");
Map<Character, Integer> map = new HashMap<>();
int ch;
while ((ch = reader.read()) != -1) {
char c = (char) ch;
if (map.containsKey(c)) {
map.put(c, map.get(c) + 1);
} else {
map.put(c, 1);
}
}
reader.close();
// 打印每个字母出现的次数
for (char c = 'a'; c <= 'z'; c++) {
int count = map.getOrDefault(c, 0);
System.out.println(c + ": " + count);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
程序先通过 `FileWriter` 随机产生1000个小写英文字母并写入到文件中。然后通过 `FileReader` 读取该文件,并使用 `HashMap` 统计每个字母出现的次数。最后通过循环遍历字母表,打印出每个字母出现的次数。