比如有一个string,内容是"张三,李四,张三,王五,张三,李四"
求输出:张三:3,李四:2,王五:1
要求,输出关键字,及出现次数
程序实现

解决方案 »

  1.   

    看不懂..你到底要什么...String 是个数组吗?
      

  2.   

    我说一下我的思路把
     1.先将这个String切开,切的规则是遇到逗号(,)便切;
     2.将切出来的各个部分存放到一个String数组中。
     3.再统计数组中相同的元素
      

  3.   

    public static String get(String str){
    String rtn="";
    String[] split=str.split(",");//如果字符串是英文逗号分割就改成英文逗号
    Map<String,Integer> map=new HashMap<String, Integer>();
    for(String i:split){
    if(map.containsKey(i))
    map.put(i, map.get(i)+1);
    else
    map.put(i, 1);
    }
    Iterator<String> it=map.keySet().iterator();
    int time=-1;
    while(it.hasNext()){
    String key=it.next();
    if(time==-1){
    rtn+=key+":"+map.get(key);
    time++;
    }
    else{
    rtn+=","+key+":"+map.get(key);
    }

    }
    return rtn;
    }
      

  4.   

    public static Map get(String str){
            String rtn="";
            String[] splitArray=str.split(",");//如果字符串是英文逗号分割就改成英文逗号
              int number = 0;
            Map map = new HashMap();  
            
           for (int i = 0; i < splitArray.length; i++)
           {
            String stringTemp = splitArray[i];
            for(int j = 0;j <splitArray.length; j++)
            {  
            if (stringTemp.equals(splitArray[j]))
            number++;
            }
            map.put(stringTemp, number);
            stringTemp = splitArray[i];
            number= 0;
           }
           return map;
        }

    public static void main(String[] args){

    String tempString = "张三,李四,张三,王五,张三,李四" ;

    Map map = get(tempString);

    System.out.println(map.toString());
    }
      

  5.   


    import java.util.*;
    public class CountString
    {
    public static void main(String[] args)
    {
     String name="张三,李四,张三,王五,张三,李四";
     String[] newname=name.split(",");
     Arrays.sort(newname);
     int count=0;
     int i=0,j=0;
     while(i<newname.length)
     {
         System.out.print(newname[i]+":");
         while(j<newname.length && newname[j].equals(newname[i]))
         {
            count++;
            j++;
         }
         i+=count;
         j=i;
         System.out.println(count);
         count=0;
     }
    }
    }