import java.util.Scanner;
import java.util.TreeMap;
import java.util.ArrayList;
import java.util.Map;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//接收输入的值
String s=scanner.nextLine();
//定义和map映射的集合
TreeMap<Character,Integer> map=new TreeMap<>();
//统计最多的次数
int max=0;
//用于接收最多次数的字母的集合
ArrayList<Character> li=new ArrayList<>();
//for循环遍历输入的字符
for(int i=0;i<s.length();i++){
//判断集合中是否有字母键,如果有将键值对的值加一
if(map.containsKey(s.charAt(i))){
int sum=map.get(s.charAt(i))+1;
map.put(s.charAt(i),sum);
//同时更新最多次数
if(sum>max){
max=sum;
}
//如果集合没有键值对就把它加入集合中
}else{
map.put(s.charAt(i),1);
}
}
//用for循环来遍历全部的键值对
for(char c :map.keySet()){
//判断键值对对应的值是否等于最多次数,等于就加入接收最多次数的集合中
if(max==map.get(c)){
li.add(c);
}
}
//将集合中的元素排序
Collections.sort(li);
//for循环遍历输出
for(char j:li){
System.out.print(j);
}
}
}
2672: 蓝桥杯2022年第十三届省赛真题-字符统计
最新推荐文章于 2024-09-29 08:33:21 发布
该代码展示了如何使用Java编程语言,通过Scanner接收用户输入,利用TreeMap统计字符出现频率,找出出现次数最多的字符并进行排序输出。
摘要由CSDN通过智能技术生成