黑马程序员技术交流社区
标题:
怎么计算一个字符串中,所有字母,汉字,数字,符号出现的次数?
[打印本页]
作者:
樱花飘过
时间:
2015-8-22 22:53
标题:
怎么计算一个字符串中,所有字母,汉字,数字,符号出现的次数?
额不会,求大神解答下
作者:
mmppp
时间:
2015-8-23 14:39
我知道的是计算一个字符串里面大写字母,小写字母,还有数字的出现次数.
在外面定义三个int类型的变量.把字符串使用toCharArray()方法抓换成字符数组,然后遍历这个字符数组
如果ch>'a' && ch<'z'说明这个字符是小写,那么,管理小写的那个变量就自加一一次.同理,大写字母就是
ch>'A' && ch<'Z' 数字就是大于字符的0,小于字符的9.至于中文的我就不知道了.因为不知道对应的AscII哈
作者:
sven556677
时间:
2015-8-23 15:23
跟这视频里的案例自己做的一个,汉字和符号应该都差不多吧,都是GBK编码,占2字节。
package com.cn.reviev;
import java.util.*;
/**
* 获取字符串中字母的个数并输出
* @author Administrator
*
*/
public class TreeSetSortString {
public static void main(String[] args) {
String s="azxcAXCCxaea rtsdfbb";
countNum(s);
}
static void countNum(String s){
char [] ch=s.toCharArray();//字符串转成数组
Map<Character,Integer> st=new TreeMap<Character,Integer>();
for(int i=0;i<ch.length;i++){
if(!((ch[i]<='z'&&ch[i]>='a')||(ch[i]<='Z'&&ch[i]>='A'))) continue;
int count=0;//计数器
if(st.containsKey(ch[i])){//st中包含有元素就取出该值
count=st.get(ch[i]);
}
count++;//计数器加一
st.put(ch[i],count);//存入
}
System.out.println(st);
}
}
复制代码
作者:
pengbeilin
时间:
2015-8-23 18:08
你的意思是每一个字符出现的次数把?
作者:
heima_cy
时间:
2015-8-23 23:34
哈哈 人家给你解答的不错了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2