用JAVA实现找出输入字符串中的出现次数最多的字符及其次数;
1 //通过Map 类实现,通过键值对的方式,可以将输入的字符串的每一个字符,作为键,每个字符出现的次数作为值:如下: 2 3 public class Find { 4 public static void main(String[] args){ 5 String scan=new Scanner(System.in).nextLine();//获取键盘上输入的字符串; 6 Map<Character,Integer> map = new HashMap<Character,Integer>();//新建一个HashMap对象; 7 //通过FOR循环,把String的键值存放到map 8 for(int i=0;i<scan.length();i++){ 9 char temp=scan.charAt(i);//通过循环,找到字符串的每一位字符并存入到temp中; 10 if(map.containsKey(temp)){//如果map里面有temp这个字符 11 map.put(temp, map.get(temp)+1);//把temp的值加1; 12 }else{//如果map里面没有temp这个字符, 13 map.put(temp, 1);//把temp的值设为1; 14 } 15 } 16 /*Collection c = map.entrySet(); 17 Iterator it = c.iterator(); 18 Map.Entry<Character, Integer> entry; 19 while(it.hasNext()){ 20 entry = (Map.Entry<Character, Integer>) it.next(); 21 } 22 */ 23 int maxnum = Collections.max(map.values());//调用Collections类的max方法,获取map的值的集合;并找出最大的那个值; 24 Set<Character> set = new HashSet<Character>();//建立一个set对象 25 for(Map.Entry<Character, Integer> entry1:map.entrySet()){ //通过集合的循环,把map的值放到entry1里,通过entry1找到值最大的maxnum的key; 26 if(entry1.getValue()==maxnum){ 27 set.add(entry1.getKey()); 28 } 29 } 30 System.out.println("出现次数最多的字母为:"+set+" 最多出现次数为"+maxnum); 31 32 } 33 34 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构