求字符串里面那个字符出现的次数最多(小写或大写)。
思路:
(1)可以先将字符串转成数组,
(2)然后创建一个大小为26的int型数组,保存没个字符出现的次数
(3)for循环遍历数组,用 【 字符 - 97】 确定字符在数组中的位置,并使其个数加一
(4)再for循环遍历找到出现次数最多的字符
public class StringTest { public static void main(String[] args) { String str = "aabbbcccc"; char s = charCount(str); System.out.println("s = " + s); } public static char charCount(String str){ // 将字符串转成数组 char[] ch = str.toCharArray(); // 创建数组用来保存字符出现的个数 int[] count = new int[26]; for (int i = 0; i < ch.length; i++) { char c = ch[i]; // 通过 字符减去97确定字符在数组中的位置,并使其++, // 之后相同的字符没出现一次,数组中的值就会增加1 count[c - 97]++; } // 查找数组中最大值的下标 int index = 0; int max = count[0]; for (int i = 0; i < count.length; i++) { if(max < count[i]){ index = i; max = count[i]; } } // 再将下标加上97强转为char类型 return (char)(index + 97); }