Java 如何知道字符串中存在哪些字符,然后计算它们的出现次数?
我有这个字符串string=“aaaaaaaaaaaadddsssaakkaaaand”我需要知道其中的字符并计算它们的出现次数,我在stackOverFlow中找到了这段代码,但它没有帮助,因为我需要在不要求用户输入字符的情况下计算字符数Java 如何知道字符串中存在哪些字符,然后计算它们的出现次数?,java,string,Java,String,我有这个字符串string=“aaaaaaaaaaaadddsssaakkaaaand”我需要知道其中的字符并计算它们的出现次数,我在stackOverFlow中找到了这段代码,但它没有帮助,因为我需要在不要求用户输入字符的情况下计算字符数 public static int countOccurrences(String haystack, char needle) { int count = 0; for (int i=0; i < haystack.length();
public static int countOccurrences(String haystack, char needle)
{
int count = 0;
for (int i=0; i < haystack.length(); i++)
{
if (haystack.charAt(i) == needle)
{
count++;
}
}
return count;
}
public static int countoccurrencess(字符串haystack,字符指针)
{
整数计数=0;
对于(int i=0;i
我需要一种方法来知道有5个a和4个v等等。这行吗
public static Map<Character, Integer> countOccurrences(String haystack)
{
Map<Character, Integer> count = new HashMap<Character, Integer>();
for (int i=0; i < haystack.length(); i++)
{
char c = haystack.charAt(i);
Integer charCount = count.get(c);
if(charCount == null) {
count.put(c, 1);
} else {
count.put(c, charCount + 1);
}
}
return count;
}
公共静态映射计数事件(字符串haystack)
{
映射计数=新的HashMap();
对于(int i=0;i
是否需要获取字符串中所有字符的计数?如果是这样,这样的类可能会起作用:
public class CharCounter {
private final int[] counts = new int[Character.MAX_VALUE];
public CharCounter(String input) {
for (int i = 0; i < input.length(); i++) {
counts[input.charAt(i)] += 1;
}
}
public int getCount(char c) {
return counts[c];
}
}
我不会给你代码答案,但这个不同的想法应该会让你开始:
这应该行得通。让我知道 您已将方法声明为返回int,但实际上返回的是
Map
。这可能会使它不起作用。@DonRoby:谢谢,修正了,实际上Keppil建议进行编辑。我的大脑有机编译失败了。这看起来像是家庭作业。与其寻找并寻求解决方案,不如自己去寻找。我敢肯定,在你被要求解决这个问题之前,你已经了解了数据结构和集合。为什么人们总是忘记字符集?这绝对是一个家庭作业!也许我们可以开始一个名为“我很懒,所以为我做吧!”的SE姐妹项目
CharCounter counter = new CharCounter("hello world");
System.count.println("number of 'l' characters: " + counter.getCount('l'));