每个角色的分布

时间:2013-04-04 17:04:16

标签: java arrays distribution

我试图为每个字符A到Z和a到z编写一个分配方法。到目前为止我所拥有的是

public int[] getLetterDistribution() {
    int[] distribution = new int[26];               
    return distribution;
}

我目前的尝试是:

public int[] getLetterDistribution() {
    int[] distribution = new int[26];

    for (int count = 0; count < distribution.length; count++) {
        String current = distribution[count];

        char[] letters = current.toCharArray();
        for (int count2 = 0; count2 < letters.length; count2++) { 
            char lett = letters[count2]; 
            if ( (lett >= 'A') & (lett <= 'Z') ) {
                    letterCount[lett - 'A']++;
            }
        }
    }
    for (char count = 'a'; count <= 'z'; count++) {
        System.out.print(count + ": " +
        letterCount[count - 'a'] +" ");
    }
    System.out.println();

    return distribution;
}

但我一直在犯错误。对于那些java大师,一个彻底的解释将是伟大的。有谁知道我在这里做错了什么?

3 个答案:

答案 0 :(得分:3)

您的代码中有三个编译错误。一个在这里:

int[] distribution = new int[26];
String current = distribution[count];

由于 distribution 是一个整数数组,因此无法从中获取字符串。

另外还有两个错误:

letterCount[lett - 'A']++;
letterCount[count - 'a'] +" ");

从不声明数组 letterCount ,因此它确实不存在。

答案 1 :(得分:1)

你最大的问题似乎是你没有你的字符串的来源,你将计算它的分布。现在你正试图从一系列的int中获取Strings。

String current = distribution[count];

您需要从其他地方获取字符串

答案 2 :(得分:0)

如果您的发行版区分大小写,那么您需要一个int [52]而不是int [26]