有个字符串str="dflkasdfkjhsadlkjhskljhjkshdfkj", 求字符串中出现次数最多的字符
实在不知道怎么弄
实在不知道怎么弄
解决方案 »
- 简单修改后的基于JavaNIO的聊天室
- AWT-EventQueue-0 异常
- 还是一个打包问题,我调用jar包的路径到底如何设置?
- 帮个忙看看什么问题?????????
- 关于事件的一个问题!!!不知道对大家有没有难度..........谢谢大家的支援!!!
- 一个高难度问题:动态生成的文件如何做才能被WEB调用显示
- 出错了。。。为什么啊?
- 请各位编写短信程序的前辈多多指点。中文乱码问题。
- j2sdk-1_4_1-beta 和 JBuilder 6.0是否有冲突或不兼容?
- JTable的model那么多,平时都能用到么?
- 如何在java桌面程序中实现视频的播放??
- 阻止iframe中的页面弹出新窗口
for (int i = str.length(); i-- > 0; count[str.charAt(i)]++);
int maxIndex = 0;
for (int i = 1; i < count.length; i++) {
if (count[i] > count[maxIndex]) {
maxIndex = i;
}
}
System.out.println((char) maxIndex);
Bag(commons-collections里的数据结构),放字母,同时里面也有出现次数的信息。
我也想到要用hsah表 但是就是不知道怎么遍历,才能得到所要的结果
Map<Character, Integer> map = new HashMap<Character, Integer>();
String str="dflkasdfkjhsadlkjhskljhjkshdfkj";
for(int i = 0; i < str.length(); i ++)
{
char c = str.charAt(i);
if(!map.containsKey(c))
map.put(c, 0);
else
map.put(c, map.get(c) + 1);
}
Set<Character> set = map.keySet();
for(Character c : set)
{
System.out.println(c + " : " + map.get(c));
}
结果:
f : 2
d : 3
s : 3
a : 1
l : 2
j : 4
k : 5
h : 3
char[] chars = str.toCharArray();
Arrays.sort(chars);
int max = 0;
int count = 0;
char maxchar = 0;
char oldchar = 0 ;
for(int i = 0 ;i <= chars.length;i++){
if(i == 0 || i == chars.length || oldchar != chars[i] ){
max = max > count?max:count;
maxchar = max > count?maxchar:oldchar;
if(i == chars.length){
break;
}
oldchar = chars[i];
count = 0;
}
count++;
}
System.out.println(maxchar+":"+max);
这个似乎很多人问过了 刚写了个代码
Map<Character, Integer> map = new HashMap<Character, Integer>();
String str="dflkasdfkjhsadlkjhskljhjkshdfkj";
for(int i = 0; i < str.length(); i ++)
{
char c = str.charAt(i);
if(!map.containsKey(c))
map.put(c, 1);//这个地方刚才写错了,应该是1
else
map.put(c, map.get(c) + 1);
}
Set<Character> set = map.keySet();
for(Character c : set)
{
System.out.println(c + " : " + map.get(c));
}
结果:
f : 3
d : 4
s : 4
a : 2
l : 3
j : 5
k : 6
h : 4
map.put(c,0);else 这句有错。改成
map.put(c,1);else