题目描述:
给定一个只包含大写字母的字符串 S ,请你输出其中出现次数最多的字母。如果有多个字 母均出现了最多次,按字母表顺序依次输出所有这些字母。【输入格式】
一个只包含大写字母的字符串 S .【输出格式】 若干个大写字母,代表答案。
【样例输入】
BABBACAC【样例输出】
AB
代码如下:
public class _07字符统计 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一串字母:");// BABBACAC String s = sc.next(); //将字母全部转换为大写 String s1 = s.toUpperCase(); int[] arr=new int[26]; //遍历s1得到每个字母,并将其添加到数组arr中 for (int i = 0; i < s1.length(); i++) { char c = s1.charAt(i); int n= c-'A'; arr[n]++; } //arr=[3, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] //遍历arr数组找出最大的值 int index=0; int flag=0; for (int i = 0; i <arr.length; i++) { if(arr[index]<arr[i]){ index=i; } } char d= (char) (index+'A'); System.out.print(d); for (int j = index+1; j <26 ; j++) { if (arr[index]==arr[j]) { flag=j; } } char b= (char) (flag+'A'); System.out.print(b); } }//运行结果:
//请输入一串字母:
//BABBACAC
//AB