任何时候努力都不会迟
2020-08-16 18:01
采纳率: 75%
浏览 103
已采纳

寻找一个文件中出现最多的字符并输出

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上试了下没问题。在座的各位大佬有谁帮我看看那问题出在了哪。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • threenewbee 2020-08-16 22:56
    已采纳

    https://www.cnblogs.com/xxbai1123/p/9264384.html
    在这个程序基础上加上读取文本文件即可。

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题