s123456m1 2016-05-13 01:42 采纳率: 100%
浏览 1437
已采纳

新手,求助大神快快现身!

给定一个字符串“today is a special day”,长度任意,要求找出其出现次数最多的字符及计算次数。老师说让自己看帮助文档,charactor,表示看不懂图片说明

  • 写回答

7条回答

  • 开发小菜鸟 2016-05-13 02:27
    关注

    思路:
    1、将当前的字符串转换为字符数组;
    2、创建一个HashMap,key为每一个字符,value为字符出现的字数;
    3、遍历当前的数组,将数组中每一个不重复的字符作为HashMap对象中的key,判断当前的HashMap对象中是否存在当前的key
    1)若存在,取出对应的value,将value值加1后,再保存到对应的key上;
    2)若不存在,则将当前的key值对应的value赋值为1;
    4、遍历统计结束的HashMap对象,取出所有key中value最大的对象即可;

    代码如下:

    public static void main(String[] args) {
    String string = "Thinking in Java";
    char[] ch = string.toCharArray();
    Map result = new HashMap();
    for (int i = 0; i < ch.length; i++) {
    if (result.containsKey(ch[i])) {
    int count = result.get(ch[i]) + 1;
    result.put(ch[i], count);
    } else {
    result.put(ch[i], 1);
    }
    }
    Character maxChar = null;
    Integer maxCount = 0;
    for (Entry entry : result.entrySet()) {
    if (entry.getValue() > maxCount) {
    maxChar = entry.getKey();
    maxCount = entry.getValue();
    }
    }

        System.out.println("字符: " + maxChar + " 出现的字数最多,为 "  + maxCount + " 次");
    }
    

    希望对你有帮助!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 求解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果