求字符串里面那个字符出现的次数最多(小写或大写)。
思路:
(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);
}


