题目描述:
解题分析:
1.给定字符串——输入
2.出现次数最多:
(1)统计相同字母出现的次数
(2)比较出次数最多的
3.有多个按照字母表顺序(大写)——用StringBuffer装载字符,再用append拓展
1.获取输入的字符串形成数组
Scanner sc = new Scanner(System.in);
char [] ch = sc.nextLine().toCharArray();
2.出现次数最多:
(1)统计相同字母出现的次数
int [] arr = new int [128];
for(int i=0;i<ch.length;i++) { //统计同样的字母出现的次数
//System.out.println(ch[i]);
arr[ch[i]]++;
//System.out.println(arr[ch[i]]);
}
(2)比较出次数最多的
int max = 0;
for(int i=0;i<arr.length;i++){
if(arr[i]>max){
max = arr[i];
}
}
3.把出现次数最多的字符按照字典顺序组合(大写字母)
StringBuffer sb = new StringBuffer();
for(int i=65;i<128;i++) {
if(arr[i]==max) {
sb.append((char)i);
}
}
System.out.println(sb);
最终代码:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //输入字符串
char[] ch = sc.nextLine().toCharArray();//读取输入字符串(以行为单位),并将其转换为字符数组
int[] arr = new int[128];//定义一个整型数组,用于存储A-Z出现的次数
for(int i=0;i<ch.length;i++) { //统计同样的字母出现的次数
arr[ch[i]]++;
}
int max = 0;
StringBuffer sb = new StringBuffer(); //定义装载输出结果的字符变量(可扩展)
//得出出现最多次数的个数
for(int i=0;i<arr.length;i++) {
if(arr[i]>max) {
max = arr[i];
}
}
//把出现次数最多的字符按照字典顺序组合
for(int i=65;i<128;i++) {
if(arr[i]==max) {
sb.append((char)i);
}
}
System.out.println(sb);
}
}