我试图为每个字符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大师,一个彻底的解释将是伟大的。有谁知道我在这里做错了什么?
答案 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]