读书人

java编程兑现字符串中有多个字符出现次

发布时间: 2013-03-19 17:22:05 作者: rapoo

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;//这个字符计数清零.
}
}

读书人网 >Eclipse开发

热点推荐