gpt4 book ai didi

java,如何在不重复的情况下查找字符串中的字母数量

转载 作者:行者123 更新时间:2023-11-29 04:34:52 25 4
gpt4 key购买 nike

我正在尝试构建一个函数,它获取一串字母,并打印字符串中每个字母的数量。例如:输入:字符串 = “aaabbaccxyxyx”输出:4a2b2c3x2y

这是我想出的:

public class Q1 {
public static String numLetters(String s){
String end = new String();
int counter = 0;
char c,d;
for(int i=0; i<s.length();i++){
c = s.charAt(i);
for(int j=0; j<s.length();j++){
d = s.charAt(j);
if(c == d){
counter++;
}
}
end = end + counter+c;
counter = 0;
}

return end;
}

但是,这是输出:4a4a4a2b2b4a2c2c3x2y3x2y3x很多重复..

任何帮助如何使它正确?请记住,该函数需要返回一个字符串,而不仅仅是打印出来。谢谢! =)

最佳答案

我会创建一个int 数组来保存字符串中每个字母的计数。因为有26个字母,数组的长度应该是26:

public static String numLetters(String s) {
int[] count = new int[26];
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
count[(int)(c - 'a')]++;
}
String ans = "";
for (int i = 0; i < 26; i++) {
if (count[i] != 0) {
ans += String.valueOf(count[i]) + (char)(i + 'a');
}
}
return ans;
}

关于java,如何在不重复的情况下查找字符串中的字母数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42101052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com