timi先生 2020-08-16 18:01 采纳率: 50%
浏览 121
已采纳

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

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
    在这个程序基础上加上读取文本文件即可。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!