import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
/*
数量最大的字节
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String filename = reader.readLine();
FileInputStream inputStream = new FileInputStream(filename);
ArrayList<Integer> list = new ArrayList<>();
HashMap<Integer, Integer> map = new HashMap<>();
long sum = 0;
long max = 0;
int a = 0;
while (inputStream.available() > 0) {
int data = inputStream.read();
list.add(data);
}
inputStream.close();
for (int i = 0; i < list.size(); i++) {
if (max < sum) {
a = i;
max = sum;
sum = 0;
} else {
sum = 0;
}
for (int j = 0; j < list.size(); j++) {
if (list.get(j).equals(list.get(i))) {
sum++;
map.put(list.get(j), Math.toIntExact(sum));
}
}
}
int b = list.get(a) - '0';
System.out.println(b+" ");
}
}
实现:
从控制台输入文件名。
找到重复次数最大的字节
在屏幕上显示它们,用空格分隔。
关闭 IO 流。
要求:
程序应从控制台读取文件名。
使用 FileInputStream 从文件读取。
应显示文件中重复最频繁的所有字节,用空格分隔。
屏幕输出应显示在一个文件中。
用于读取文件的流必须关闭。
我的程序如上所示。
第三个要求我的程序达不到要求,但我在IDEA上试了下没问题。在座的各位大佬有谁帮我看看那问题出在了哪。