需求:
给定一个只包含大写字母的字符串 S, 请你输出其中出现次数最多的字符。
如果有多个字母均出现了最多次, 按字母表顺序依次输出所有这些字母。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
String str = scan.next(); //录入字符串
char[] arr = str.toCharArray(); //将字符串转成字符数组
//创建一个数组,以字符对应的ascall码值为索引,记录每个字符出现次数
int[] arr2 = new int[100];
for(int i = 0;i < arr.length;i++){
arr2[arr[i]]++;
}
//利用循环查找出现次数最多的字符的值
int max = arr2[65];
for(int i = 65;i < arr2.length;i++){
if(max < arr2[i]){
max = arr2[i];
}
}
//打印字符
for(int i = 65;i < arr2.length;i++){
if(arr2[i] == max){
System.out.print((char)i);//强转字符型
}
}
scan.close();
}
}
执行结果