A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HeiMa-黄倲江 中级黑马   /  2012-12-5 00:46  /  991 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第一种

public static void main(String args[]){
        String s = "abcbbadfdf";   
        Map<Character, Integer> result = getCharMaps(s);        
        System.out.println(result);
}

private static Map<Character, Integer> getCharMaps(String s) {
Map<Character, Integer> map = new HashMap<Character, Integer>();        
for(int i = 0; i < s.length(); i++) {           
Character c = s.charAt(i);            
Integer count = map.get(c);            
map.put(c, count == null ? 1 : count + 1);
}
return map;
}


第二种
public static void str1(String s){
String newstr = "";

while(s.length()>0){
char ch=s.charAt(0);//拿出第一个元素

int count1=1;//用于计数重复元素出现的次数
newstr="";

for(int j=1;j<s.length();j++){
//b==a
//c==a
if(s.charAt(j)==ch){
count1++;//如果2个元素相等count就++
}else{
newstr +=s.charAt(j);
System.out.println(newstr);
}
}
s=newstr;
System.out.println(ch+"出现了----("+count1+")");
}

还有别的方法, 就贴出来一起分享下

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马