用JAVA实现找出输入字符串中的出现次数最多的字符及其次数;
//通过Map 类实现,通过键值对的方式,可以将输入的字符串的每一个字符,作为键,每个字符出现的次数作为值:如下:
public class Find {
public static void main(String[] args){
String scan=new Scanner(System.in).nextLine();//获取键盘上输入的字符串;
Map<Character,Integer> map = new HashMap<Character,Integer>();//新建一个HashMap对象;
//通过FOR循环,把String的键值存放到map
for(int i=0;i<scan.length();i++){
char temp=scan.charAt(i);//通过循环,找到字符串的每一位字符并存入到temp中;
if(map.containsKey(temp)){//如果map里面有temp这个字符
map.put(temp, map.get(temp)+1);//把temp的值加1;
}else{//如果map里面没有temp这个字符,
map.put(temp, 1);//把temp的值设为1;
}
}
/*Collection c = map.entrySet();
Iterator it = c.iterator();
Map.Entry<Character, Integer> entry;
while(it.hasNext()){
entry = (Map.Entry<Character, Integer>) it.next();
}
*/
int maxnum = Collections.max(map.values());//调用Collections类的max方法,获取map的值的集合;并找出最大的那个值;
Set<Character> set = new HashSet<Character>();//建立一个set对象
for(Map.Entry<Character, Integer> entry1:map.entrySet()){ //通过集合的循环,把map的值放到entry1里,通过entry1找到值最大的maxnum的key;
if(entry1.getValue()==maxnum){
set.add(entry1.getKey());
}
}
System.out.println("出现次数最多的字母为:"+set+" 最多出现次数为"+maxnum);
}
}
用JAVA实现找出输入字符串中的出现次数最多的字符及其次数;的更多相关文章
- 给定一个英文字符串,请编写一个PHP函数找出这个字符串中首先出现三次的那个英文字符(需要区分大小写),并返回
给定一个英文字符串,请编写一个PHP函数找出这个字符串中首先出现三次的那个英文字符(需要区分大小写),并返回 //统计字符串中出现的字符的出现次数 public function strNum(){ ...
- js判断一个字符串中出现次数最多的字符及次数
最近面试总是刷到这个题,然后第一次的话思路很乱,这个是我个人思路 for循环里两个 if 判断还可以优化 var maxLength = 0; var maxStr = ''; var count = ...
- LeetCode练习3 找出一个字符串中最大不重复子字符串的长度
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...
- python字符串面试题:找出一个字符串中第一个字母和最后一个字符是第一次重复,中间没有重复且最长的子串
1.给出任意一个字符串,打印一个最长子串字符串及其长度,如果有相同长度的子字符串,都要一起打印出来,该子字符串满足以下条件, 第一个字母和最后一个字符是第一次重复 这个子字符串的中间字母没有重复 这个 ...
- 找出A字符串中出现B字符串的起始位置
/** * 找出B出现在A中的起始位置 * @param A * @param lenA * @param B * @param lenB * @date 2016-10-7 * @author sh ...
- java一个字符串中出现次数最多的字符以及次数
学习了别人的方法,觉得挺巧妙的.就是每次取出字符串的第一个字符,将字符串中与第一个字符相同的字符全部删除掉,然后通过计算删除前后字符串的长度来确定该字符在字符串中出现的次数,最终比较出出现最多次的字符 ...
- 请找出"aaaabbcccdddd"字符串中出现最多的字母
function getCount(str) { for(var code=32;code<128;code++){ var mych=String.fromCharCode(code); va ...
- js 计算字符串中出现次数最多的字符及其次数
方法一: var str="sdfseresssssdssdfsa"; var arr=[]; var max=0; var maxk; for(var i=0;i<str. ...
- C/C+面试题一:找出字符串中出现最多的字符和次数,时间复杂度小于O(n^2)
已知字符串"aabbbcddddeeffffghijklmnopqrst"编程找出出现最多的字符和次数,要求时间复杂度小于O(n^2) /********************* ...
随机推荐
- docker镜像编码注意事项
第一步:下面这些话如果你不知道我在说什么,只管粘贴复制然后按回车键等待执行完成就行,一步步来不要着急. 首先安装docker,ubuntu18.04安装docker很简单只需要 一行命令 wget - ...
- vue报错: Class constructor FileManager cannot be invoked without 'new'.
vue中报Class constructor FileManager cannot be invoked without 'new'.错处理: 原因:less 3.10 正式版报错 解决方法很简单,把 ...
- cad.net 复制图元的时候按下多次esc导致复制中断的bug,令REGEN,REGENALL更新图元无效.
浩辰没有这个bug !!!!!!! 如上述动图所示,cad在复制一个多图元的操作时候,多次按下esc键中断复制操作, **注意例子要有足够多的图元(大概一万个图元),才能很好展示这个bug,而且这个b ...
- swig包里面没有找到swig.exe
问题关键词: swig.exe找不到 swig.exe不存在 windows如何编译swig.exe windows如何生成swig.exe SWIG简单介绍: SWIG(http://www.swi ...
- ASP.NET-------gridview 进行编辑的时候,给出提示
在使用gridview 控件的时候,控制修改人的操作行为,并给出合理的提示, 比如 在执行编辑操作的时候 不允许姓名为空,并显示出提示,姓名不可以为空 操作: 前台页面,对一些字段的解释 一定要注意 ...
- Antd中,Select 中value设值,导致placeholder不生效解决方法
<Select key="sm2" placeholder="姓名" showSearch={true} allowClear={true} showAr ...
- 1082 射击比赛 PAT (Basic Level)
题目链接: https://pintia.cn/problem-sets/994805260223102976/problems/994805260990660608 分析: 这是典型的给出编号和得分 ...
- HDU校赛 | 2019 Multi-University Training Contest 3
2019 Multi-University Training Contest 3 http://acm.hdu.edu.cn/contests/contest_show.php?cid=850 100 ...
- Quartz基础调度框架-第二篇服务
很多应用场景Quartz运行于Windows服务 Conf 在这个基本结构里 是用来存放配置 和上一篇 控制台运行的一样的结构 jobs.xml 的配置清单 <!-- 任务配置--> & ...
- Web API 授权筛选器
方式一.全局认证 public static class WebApiConfig { public static void Register(HttpConfiguration config) { ...