首页 > 解决方案 > Java中的方法返回

问题描述

我编写了一个代码来查找Java txt文件中字母表中每个字母的频率并将结果写入另一个文件。问题是frekuenca(字符串文本)有错误,因为它必须返回字符串类型的结果.你能想办法解决吗?谢谢!

public class Frekuenca_File {

    public static void main(String args[]) throws FileNotFoundException {
        Scanner input = new Scanner(new File("teksti.txt"));
        PrintStream output = new PrintStream(new File("frekuenca.txt"));
        while (input.hasNextLine()) {
            String fjala = input.next();
            output.print(frekuenca(fjala));
        }
    }

    public static String frekuenca(String text) {
        int frekuenca = 0;
        for (int i = 'a'; i <= 'Z'; i++) {
            for (int j = 0; j < text.length() - 1; j++) {
                if (i == text.charAt(j)) {
                    frekuenca++;
                }
            }
            String result = "" + i + ":" + frekuenca;
            return result;
        }

    }
}

标签: java

解决方案


要回答您的问题,您始终可以返回一个空字符串对象。但是我会以不同的方式处理这个问题。我会将文本文件解析为字符。将 26 个字母的出现次数存储在大小为 26 (0 - 25) 的数组中。索引 0 是 a 的数量等。每个 char 是一个 8 位数字。例如 a 是 97。(查找 ASCII 表)。所以要递增的数组的索引是 char(ASCII 值)减去 97。所以 97 - 97 是索引 0。 b 是 98 - 97 是索引 1。


推荐阅读