java编程求字符串中每个字符出现次数
java编程求字符串中每个字符出现次数比如"aacdeffa"a出现3次,c出现1次d出现1次,e出现1次,f出现次...谢谢了,应该用到Map但不知道应该怎么用呀...
java编程求字符串中每个字符出现次数比如"aacdeffa"a出现3次,c出现1次d出现1次,e出现1次,f出现次...谢谢了,应该用到Map但不知道应该怎么用呀
展开
3个回答
展开全部
先把字符串,转成数组。
String a = "aacdeffa";
char[] b = a.toCharAray();
然后申请个
HashMap cntMap = new HashMap();
根据HashMap Key得唯一性,
把每个数组的元素作为Key,值为次数的整形
//loop(数组循环)
判断该Key在cntMap中是否存在
if( cntMap.contains(b[i]) ){
//取到次数
//次数++
} else {
cntMap.put(b[i], new Integer(1));
}
明白了没有,关键就是利用HashMap的Key的唯一性
String a = "aacdeffa";
char[] b = a.toCharAray();
然后申请个
HashMap cntMap = new HashMap();
根据HashMap Key得唯一性,
把每个数组的元素作为Key,值为次数的整形
//loop(数组循环)
判断该Key在cntMap中是否存在
if( cntMap.contains(b[i]) ){
//取到次数
//次数++
} else {
cntMap.put(b[i], new Integer(1));
}
明白了没有,关键就是利用HashMap的Key的唯一性
展开全部
另一个方法,可以少写几行代码:
String str = "aacdeffa";
int len = str.length();
while (len > 0) {
String tmp = str.substring(0, 1);
str = str.replaceAll(tmp, "");
System.out.println(tmp + "---" + (len - str.length()));
len = str.length();
}
※上面的代码在出现特殊字符时会有问题,需要稍做改进
String str = "aacdeffa";
int len = str.length();
while (len > 0) {
String tmp = str.substring(0, 1);
str = str.replaceAll(tmp, "");
System.out.println(tmp + "---" + (len - str.length()));
len = str.length();
}
※上面的代码在出现特殊字符时会有问题,需要稍做改进
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关注下
貌似也只能那样
貌似也只能那样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询