Java:计算String数组的第一个和最后一个字母的重复数

时间:2018-04-27 04:19:56

标签: java arrays string char ascii

我试图计算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

1 个答案:

答案 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';

因为你只看第一个字符串