使用java随机产生1000个小写英文字母,并写入到”letter.dat”文件里面,读取该文件,统计每个字母各出现了几次,并打印出来
时间: 2024-03-06 14:51:34 浏览: 126
好的,我来帮你解决这个问题。
首先,我们需要使用 Java 的随机数生成器来生成 1000 个小写英文字母。然后,我们将这些字母写入到名为 "letter.dat" 的文件中。
```java
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;
public class GenerateLetters {
public static void main(String[] args) {
Random random = new Random();
byte[] letters = new byte[1000];
for (int i = 0; i < letters.length; i++) {
letters[i] = (byte) (random.nextInt(26) + 'a');
}
try (FileOutputStream outputStream = new FileOutputStream("letter.dat")) {
outputStream.write(letters);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
接下来,我们需要读取 "letter.dat" 文件,并统计每个字母出现的次数。我们可以使用一个长度为 26 的整数数组来记录每个字母出现的次数。
```java
import java.io.FileInputStream;
import java.io.IOException;
public class CountLetters {
public static void main(String[] args) {
int[] counts = new int[26];
try (FileInputStream inputStream = new FileInputStream("letter.dat")) {
int b;
while ((b = inputStream.read()) != -1) {
if (b >= 'a' && b <= 'z') {
counts[b - 'a']++;
}
}
} catch (IOException e) {
e.printStackTrace();
}
for (int i = 0; i < counts.length; i++) {
System.out.printf("%c: %d\n", 'a' + i, counts[i]);
}
}
}
```
这样,我们就可以统计每个字母出现的次数并打印出来了。希望对你有帮助!
阅读全文