用Java编写一个小程序统计一个一个字符串中的每个字符的出现次数

如题所述

第1个回答  2012-05-15
import java.util.*;
import java.util.Map.Entry;

public class MyTest1 {
public static void main(String[] args) {
String s = "abasdcas aasdfsa fdsdaf 12refsdafi";
Map<Character, Integer> map = new HashMap<Character, Integer>();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
int num = 1;
if (map.containsKey(c)) {
num = map.get(c) + 1;
}
map.put(c, num);
}

Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Entry entry = (Entry) it.next();
System.out.println(entry.getKey() + ":" + entry.getValue());
}
}
}
满意请采纳!
第2个回答  2012-05-15
这么简单的小程序还不自己写,不现在就培养起自己的编程能力,到时需要用的话就什么都不会了追问

关键是想借鉴一下呀,主要是想读一下别人的程序

追答

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

public class CharNumber {
Set charSet = new HashSet();
Map charMap = new HashMap();
public static void main(String[] args) {
CharNumber c = new CharNumber();
String a="abcdea";
c.show(a);
}
public void find(String tofind){
for(int i=0;i<tofind.length();i++){
if(i==0){
char temp = tofind.charAt(i);
charSet.add(temp);
charMap.put(temp, 1);
}
else{
char temp = tofind.charAt(i);
int flag =0;
for(char a :charSet){
if(a==temp){
int num= charMap.get(temp);
charMap.remove(temp);
charMap.put(temp, num+1);
flag=1;
}

}
if(flag==0){

charSet.add(temp);
charMap.put(temp, 1);
}
}
}
}
public void show(String tofind){
find(tofind);
for(char a:charMap.keySet()){
System.out.println(a+"的出现次数是"+charMap.get(a));
}
}

}

本回答被提问者采纳
相似回答