我试图计算String数组的第一个和最后一个字母的重复。我有2个int数组一个用于第一个字母,另一个用于最后一个字母。我想我必须以某种方式加入它们才能成为int [] count,所以我可以传递给displayCount。我如何加入他们?我知道我必须在for循环中添加一些内容,但我不确定要添加什么。现在它很重要并给了我错误的答案。请帮忙。谢谢。
public static int[] countChar(String[] str){
int[] begin= new int[26];
int[] end= new int[26];
for(int i=0;i<str.length;i++){
int x = str[0].charAt(0)-'a';
int y = str[0].charAt(str[0].length()-1)-'a';
begin[x]++;
end[y]++;
}
return begin; // I can return only one
//value in a method how do I join begin and end together?
}
public static void displayCounts(int[] counts) {
for (int i = 0; i < counts.length; i++) {
System.out.println(counts[i] + " " + (char)(i + 'a'));
}
}
public static void main(String[] args) {
String[] str = {"julie","eleven","eve"};
// Count the occurrences of each letter
int[] counts = countChar(str);
// Display counts
System.out.println();
System.out.println("The occurrences of each letter are:");
displayCounts(counts);
}
}
这是它给我的答案。
The occurrences of each letter are:
0 a
0 b
0 c
0 d
0 e
0 f
0 g
0 h
0 i
3 j
0 k
0 l
0 m
0 n
0 o
0 p
0 q
0 r
0 s
0 t
0 u
0 v
0 w
0 x
0 y
0 z
答案 0 :(得分:0)
创建包含两个数组的新类并使用并返回此新类
class Results {
int begin [26];
int end [26];
}
Results countChar(String[] str){
Results results = new Results ();
.
.
.
results.begin[x]++;
return results ;
}
修改强>
顺便说一句,我认为你需要改为
int x = str[i].charAt(0)-'a';
int y = str[i].charAt(str[i].length()-1)-'a';
因为你只看第一个字符串