一道java题目

2024-12-31 01:53:19
推荐回答(1个)
回答1:

package Demo; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Demo9 { /** * 随便输入一段字符串,把出现次数最多的打印出来,如:aabbbbbbbbbcccdffff,就把b打印出来,用java代码实现 */ public static void main(String[] args) { // 获得输入的字符串 Scanner input = new Scanner(System.in); String str = input.next(); // 转成字符数组处理 char[] cArray = str.toCharArray(); Map map = new HashMap(); // 统计各字符出现次数 for (char c : cArray) { Integer count = map.get(c); if (null == count) {//第一次在map中是不可能找到该字符串的,我们直接给Integer加1 map.put(c, 1); } else { map.put(c, count + 1);//之后的都先取出出现的次数,在他的Integer基础上加1 } } int maxCount = 0; char mostChar = '0'; // 比较获得出现次数最多的字符 for (Map.Entry entry : map.entrySet()) {//map类型的迭代 if (entry.getValue() > maxCount) { maxCount = entry.getValue(); mostChar = entry.getKey(); } } // 打印出结果 System.out.println(mostChar); } }