首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

java编程兑现字符串中有多个字符出现次数最多的情况

2013-03-19 
java编程实现字符串中有多个字符出现次数最多的情况编程,随机生成一组字符串,求该字符串中出现次数最多的

java编程实现字符串中有多个字符出现次数最多的情况
编程,随机生成一组字符串,求该字符串中出现次数最多的字符,以及输出该字符和出现的次数。注意解决有多个字符出现次数最多的情况。
我写出来了,但是不完美,输出有多个情况的时候老是会重复出现相同的.
以下是我的代码,求高手改进

                                java                  编程                  random                  string              
[解决办法]
引用:
引用:在你的程序中加入集合的概念,你应该是遍历输出的,只记录了一个次数而已。
如果用一个map来记录key(字符),value(次数),然后在输出就不会出现这样的情况了。
具体怎么用map?


Map<Stirng,Integer> map=new HashMap<>();
读到一个字符
如果不存在,则
map.put("字符","次数");
如果存在,则次数+1
[解决办法]
不用集合的话,也可以改一下这部分代码:

        int max=count[a.charAt(0)];
        char str = a.charAt(0);
        for(int j = 0; j < a.length(); j++)
        {
            if(max< count[a.charAt(j)])
            {  
                max=count[a.charAt(j)];  


                //str =a.charAt(j);  
            }//end if  
        }//end for
        System.out.println();
        //System.out.println("出现次数最多的字符:" + str + " 出现次数:" + max);//找到最大数,暂不输出
        //
        //从头判断,只要与最大数相等,就输出,输出后把这个字符的计数清零.
        //
        for(int j = 0; j < a.length(); j ++)
        {
            if(max== count[a.charAt(j)])
            {
                str =a.charAt(j);  
                System.out.println("出现次数最多的字符:" + str+ " 出现次数:" + max);
                count[a.charAt(j)]=0;//这个字符计数清零.
            } 
        }

热点排行