欢迎访问宙启技术站
智能推送

在Java中使用函数计算字符串中出现最多的字符?

发布时间:2023-09-08 16:52:39

在Java中,可以使用一个数组来计算字符串中出现最多的字符。首先,将字符串转换为字符数组,然后遍历字符数组,将每个字符出现的次数记录在一个大小为256的整数数组中,数组的索引对应字符的ASCII码。最后再遍历整数数组,找到出现次数最多的字符。

下面是一个示例代码:

public class MostFrequentChar {
    public static void main(String[] args) {
        String str = "Hello, world!";
        char mostFrequent = findMostFrequentChar(str);
        System.out.println("Most frequent char: " + mostFrequent);
    }

    public static char findMostFrequentChar(String str) {
        int[] charCount = new int[256]; // 初始化大小为256的整数数组

        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            charCount[c]++; // 统计每个字符出现的次数
        }

        char mostFrequent = ' ';
        int maxCount = 0;

        for (int i = 0; i < charCount.length; i++) {
            if (charCount[i] > maxCount) {
                mostFrequent = (char) i;
                maxCount = charCount[i];
            }
        }

        return mostFrequent;
    }
}

在上面的示例代码中,我们定义了一个大小为256的整数数组 charCount,用于记录每个字符出现的次数。然后,使用 for 循环遍历字符串 str 的每个字符,将字符的ASCII码作为 charCount 数组的索引,并将对应的元素加1。最后,再次遍历整数数组 charCount,找到出现次数最多的字符,并返回该字符。在示例代码中,输出结果为 "Most frequent char: l",表示字符 'l' 在字符串中出现的次数最多。