用unicode码, 汉字的unicode码有一定范围
解决方案 »
- jtidy把html转为DOM树,并删除 html 特定标记
- 怎么 :Cannot create PoolableConnectionFactory
- 有关JFrame的问题
- 概念模糊,请高手解答<关于参数的相关问题3个>
- ◆◆问个问题,顺便升星散分.
- htmlparser解析中一个奇怪的现象,高手请进!!
- 请教关于applet和数据库的问题
- 当学完了Java的语言基础以后,下一步该学什么看那方面的书?
- 为什么JB5和JB4中的光标位置有问题呢?
- 用random写的一个点名程序,字符串转换字符串数组出了点问题,求大神帮忙解决下(源码贴出)
- 急!!!请问高手:在java程序中如何获得CPU、内存等系统资源利用率
- 在java中如何计算从1970年1月1日零时零分零秒起到当前的秒数呢
public class CountChinese
{
public static boolean isChinese(char a)
{
int v=(int)a;
return (v>=19968 && v<=171941);
}
public static void main(String[] args)
{
String str=new String("abc中d华112人e民**^$%*&()共)和ggafda,.国[]l;");
int cnt=0;
for(int i=0;i<str.length();i++)
{
if(isChinese(str.charAt(i)))
cnt++;
}
System.out.println("共有汉字:"+cnt+" 个。");
}
}
汉字的UNICODE范围在19968~171941之间。
-------------------------------------------------------------------------这数字从哪里来的?
我看UnicodeBlock的源代码,发现汉字所在的Block范围是 0x4E00 <= ch < 0xA000
就是 19968~40960。 你的上限171941似乎太大了吧,很多外字都被你包括进来了。
的代码我试过了没有问题