求一个string关键字及出现次数的问题,请大家帮忙,谢谢 比如有一个string,内容是"张三,李四,张三,王五,张三,李四"求输出:张三:3,李四:2,王五:1要求,输出关键字,及出现次数程序实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看不懂..你到底要什么...String 是个数组吗? 我说一下我的思路把 1.先将这个String切开,切的规则是遇到逗号(,)便切; 2.将切出来的各个部分存放到一个String数组中。 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; } 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()); } 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; } }} 如何使用JAVA调用C++编写的Dll函数,Char *指针 一个关于javaSE连接数据库的问题 java异常处理问题 java基础题目,求解析 JAVA中怎样获取拖放的数据 关于jfreechart的问题,头大!!! 关于getClass的困惑 怎样上传文件? 我该怎么来保存?大家帮帮忙 import javax.swing.JOptionPane;报错 java命令问题 面试题 java程序统计得到 购物网站各类别网店数量 没有网站接口信息 只有网站地址 没思路 大家帮帮忙
1.先将这个String切开,切的规则是遇到逗号(,)便切;
2.将切出来的各个部分存放到一个String数组中。
3.再统计数组中相同的元素
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;
}
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());
}
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;
}
}
}