当前位置: 首页 > news >正文

字符统计及重排

题目描述

给出一个仅包含字母的字符串,不包含空格,统计字符串中各个字母(区分大小写)出现的次数
并按照字母出现次数从大到小的顺序。输出各个字母及其出现次数。
如果次数相同,按照自然顺序进行排序,且小写字母在大写字母之前,

输入描述

输入一行,为一个仅包含字母的字符串,

输出描述

按照字母出现次数从大到小的顺序输出各个字母和字母次数,用英文分号分隔,注意未尾的分号;
字母和次数间用英文冒号分隔。

//xyxyXX
//aaaaAAAAbbbbcccckkk
public class 字符统计及重排 {public static void main(String[] args) {System.out.println("请输入需要字符统计及重排的字符串:");Scanner scanner = new Scanner(System.in);String s = scanner.nextLine();characterStatisticsAndSort(s);}private static void characterStatisticsAndSort(String s) {HashMap<Character, Integer> tp = new HashMap<>();for (int i = 0; i < s.length(); i++) {Character c = s.charAt(i);tp.put(c,tp.getOrDefault(c,0)+1);}tp.entrySet().stream().sorted((o1,o2)-> {if (o1.getValue() != o2.getValue()){return o2.getValue() - o1.getValue();}else if (Character.isUpperCase(o2.getKey()) && Character.isLowerCase(o1.getKey())){return -1;}else {return 1;}}).forEach(str -> System.out.print(str.getKey() + ":" + str.getValue() + ";"));}
}


http://www.mrgr.cn/news/18154.html

相关文章:

  • 逆向工程核心原理 Chapter23 | DLL注入
  • 数据资产入表和数据治理的联系和区别是什么?
  • 第L2周:机器学习-线性回归
  • YoloV8如何将标签绘制在原图中
  • 测试用例的具体方法
  • 燃油车淘汰倒计时开始了?
  • element-plus 报错 ResizeObserver loop limit exceeded 解决
  • C语言学习笔记 Day15(文件管理--下)
  • Nginx: 配置文件重载的原理和热部署
  • 【Oracle点滴积累】解决IMP-00017、ORA-20005、ORA-06512错误的方法
  • 代码随想录冲冲冲 Day34 动态规划Part2
  • 智慧理财新纪元:蚂蚁集团“支小宝”智能理财助理深度体验与测评
  • Notepad下载安装
  • JavaWeb(基于SpringBoot开发)全总结(1)
  • DORIS - DORIS注意事项(一)
  • 基于VUE的校园二手物品交易管理系统的设计与实现 (含源码+sql+视频导入教程)
  • 【influxdb 第二篇章】docker-compose、windows、linux 安装
  • 【卡码网C++基础课 16.出现频率最高的字母】
  • 惠中科技:开启综合光伏清洗新征程
  • Elasticsearch:使用 inference API 进行语义搜索