计算诸葛亮《出师表》中一共出现了多少种汉字
import java.util.HashMap; import java.util.Map; import java.util.Set;/** * @author aachen0 * @date 2018/4/4 20:18 * IDE:IntelliJ IDEA * 练习: * 1、计算诸葛亮《出师表》中一共出现了多少种汉字,哪些汉字只出现一次,哪些汉字出现了多次,打印各汉字出现的次数。 */ public class CountChar { public static void main(String[] args) { String text = "先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。 \n" +"宫中府中,俱为一体,陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理,不宜偏私,使内外异法也。 \n" +"侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。愚以为宫中之事,事无大小,悉以咨之,然后施行,必得裨补阙漏,有所广益。 \n" +"将军向宠,性行淑均,晓畅军事,试用之于昔日,先帝称之曰能,是以众议举宠为督。愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。 \n" +"亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之信之,则汉室之隆,可计日而待也。 \n" +"臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。 \n" +"先帝知臣谨慎,故临崩寄臣以大事也。受命以来,夙夜忧叹,恐付托不效,以伤先帝之明,故五月渡泸,深入不毛。今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。此臣所以报先帝而忠陛下之职分也。至于斟酌损益,进尽忠言,则攸之、祎、允之任也。 \n" +"愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏,臣不胜受恩感激。 \n" +"今当远离,临表涕零,不知所言。";Map<Character, Integer> chars = new HashMap<>();char temp;for (int i = 0; i < text.length(); i++) { temp = text.charAt(i);if ('\n' == temp || '、' == temp || '。' == temp) continue;// 跳过不需要统计的标点符号 if (chars.containsKey(temp)) { chars.put(temp, chars.get(temp) + 1); // 如果键(字符)已经存在,则旧元素的值加1后put进去覆盖旧元素 } else chars.put(temp, 1); //没有重复的话直接put } Set<Character> keys = chars.keySet();String charSingle = ""; //定义一个字符串存储只出现了一次的字符 // 遍历Map集合,输出统计结果 for (Character c : keys) { System.out.println("汉字\"" + c + "\"出现了" + chars.get(c) + "次");if (1 == chars.get(c)) charSingle += c + "、";} System.out.println("一共出现了" + keys.size() + "种汉字,只出现了一次的汉字有:" + charSingle);} }
计算诸葛亮《出师表》中一共出现了多少种汉字相关推荐
- 如何方便的计算 GLT0 等表中的数据
在 ABAP 的 GLT0.FAGLFLEXT 等余额表中,用诸如 TSL01.TSL02 -- TSL16 等字段记录了 16 个期间的发生额,在对某个期间取当年累计的时候,如果用其它语言,一般需要 ...
- mysql查库存_如何用SQL查询Product表中库存最低的6种商品
展开全部 使用代码:复 DELETE的语法是制: DELETEFROMtable_name. WHERE条件. DELETE后面不跟列名.2113 INSERT一般都用: INSERTINTOtabl ...
- VBA将工作簿中的所有工作表的内容输出到一个工作表中
主体是对该工作簿中所有的工作表进行遍历,然后将内容依次输出到一个工作表中. 下面看代码: Rem 将多个工作表中的内容汇总到一个工作表中 Sub collect()Rem 定义要循环的工作表和拿来去循 ...
- SQL查询一个表中类别字段中Max()最大值对应的记录
问题是: 数据库有一个表 code,里面有个点击量字段click_num和一个类别字段kind以及其它信息字段, 现在要搜出每个类别中点击量最大的那条记录,如果是10个类别,那么结果应该是10条记录, ...
- 查找雇员表中姓王的员工JAVA_SQLSERVER2008实用教程实验参考答案(实验4)
实验4 数据库的查询和视图 一.SELECT语句的基本使用 1. 查询Employees表中所有数据 2. 查询Employees表中指定字段数据 3. 查询Employees表中的部门号和性别,要求 ...
- mysql中如何删除空记录表_mysql删除表中的记录
大家都知道,在MySQL中删除一个表中的记录有两种方法,一种是DELETE FROM TABLENAME WHERE... , 还有一种是TRUNCATE TABLE TABLENAME. DELET ...
- 使用sql语句将一张旧表中的数据取出并插入到另一张新表中(字段不对应),并将中文name转变为拼音存入到code中
要求:将公司旧项目中一个表的数据取出,全部放入到新项目的表中,两张表的字段是不对应的,数据有3446条,一条一条改,效率太低,所有这里采用的是sql语句进行操作 参考语法链接:SQL INSERT I ...
- SQL数据库中查询某一字段以汉字开头的记录
select * from tb_product where proname like N'[啊-座]%' 在计算机中的汉字表中,"啊"是第一个汉字,"座"是最 ...
- 如果诸葛亮用C#写出师表...
看到一篇18年的文章 "C++版<出师表>",站长觉得挺有意思的,就用C# 控制台也实现了一遍,技术上没啥难度,但复制代码费了1.2个小时,纯粹无聊写着玩,看者别在意枚 ...
最新文章
- win7如何设置wifi热点_xp系统怎么设置无线网络热点(电脑设置wifi热点步骤)
- 【转载】SAP 计划策略组40、50对比分析
- android ppt下载地址,Microsoft PowerPoint下载
- 深圳内推 | 腾讯优图实验室招聘计算机视觉算法工程师(校招/实习)
- 什么是mysql事物定义_Mysql事务原理
- wireshark 十六进制过滤_CTF流量分析之wireshark使用
- C#LeetCode刷题之#283-移动零(Move Zeroes)
- Linux下安装mysql后无法启动的解决方法
- python from import 和 import 区别_python import和from import的区别
- Enterprise Library2.0(1):Data Access Application Block学习
- 如何在CDSN打开Markdown编辑界面
- SQL Server 2014 安装与SQL语言学习笔记(一)
- EAUML日拱一卒-活动图::14.2 Behavior StateMachines (6) - Transitions
- Function与function的区别
- 用node.js实现简单的web服务器
- 四、子弹类的创建,飞机子弹发射与无用子弹的销毁(雷霆战机)
- 基于JAVA网上汽车售票系统计算机毕业设计源码+数据库+lw文档+系统+部署
- html抓取网址某链接,URL 筛选小工具 提取网页中的链接地址
- 【Unity】 节奏类游戏的表盘卡点功能
- 142.如何个性化推荐系统设计-2