John_Java 2012-12-18 17:40
浏览 359
已采纳

今天去康拓普面试,使用Java计算字符串中出现次数最多的字符

有谁愿意帮帮我吗,感谢大侠

  • 写回答

1条回答 默认 最新

  • gxl1989225 2012-12-18 17:46
    关注

    [code="java"]
    /**
    * @param args
    */
    public static void main(String[] args) throws Exception
    {
    String contents = "Hello World";
    char[] content = contents.toCharArray();
    Map map = new HashMap();
    for(int i = 0; i < content.length; i ++)
    if(-1 != contents.indexOf(content[i]))
    if(null != map.get(content[i]))
    map.put(content[i], map.get(content[i]) + 1);
    else
    map.put(content[i], 1);

        int maxValue = map.get(content[0]);
        char str = ' ';
        for(int j = 0; j < content.length; j ++)
            if(maxValue < map.get(content[j]))
            {
                maxValue = map.get(content[j]);
                str = content[j];
            }
        System.out.println("现次数最多的字符:" + str + " 出现次数:" + maxValue);
    }
    

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符