黑马程序员技术交流社区
标题:
为什么说汉字只能作为字符串处理
[打印本页]
作者:
杨晓燕
时间:
2013-7-12 12:10
标题:
为什么说汉字只能作为字符串处理
先看如下的代码
/*题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1 从键盘输入一行字符,记得关流
2 转化为字符串
3 将字符串转为字符数组
4 因汉字只能作为字符串处理,定义一个字符串,每个值都和字符数组同
*/
import java.util.Scanner;
class Progs07
{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
String str=in.nextLine();//将一行字符转化为字符串
in.close();
getCount(str);
}
private static void getCount(String ss)
{
char[] char_array=ss.toCharArray();//将字符串转为字符数组
String[] string_array=new String[char_array.length];
//汉字只能作为字符串处理
int countChinese=0;
int countLetter=0;
int countNum=0;
int countSpace=0;
int countOther=0;
String E1="[\u4e00-\u9fa5]";//汉字
String E2="[a-zA-Z]";//字母
String E3="[0-9]";//数字
String E4="\\s";//空格
for(int i=0;i<char_array.length;i++)
//{}
string_array[i]=String.valueOf(char_array[i]);
for(String s:string_array)
{
if(s.matches(E1))
countChinese++;
else if(s.matches(E2))
countLetter++;
else if(s.matches(E3))
countNum++;
else if(s.matches(E4))
countSpace++;
else
countOther++;
}
System.out.println("输入的汉字个数:"+countChinese);
System.out.println("输入的字母个数:"+countLetter);
System.out.println("输入的数字个数:"+countNum);
System.out.println("输入的空格个数:"+countSpace);
System.out.println("输入的其它字符个数:"+countOther);
}
}
复制代码
为什么要说汉字只能作为
字符串
处理呢,难道不能作为
字符
处理么
作者:
曹满林
时间:
2013-7-12 12:29
unicode编译或者判断是汉字的时候特殊处理。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2