string对象创建的字符串长度是固定的,用length()方法获取的是char对象的个数
方法/步骤
1、首先打开eclipse
2、新建一个java项目,名字随意起
3、名字起好后,点击完成
4、右键点击项目名称,新建,类
5、类的名字叫TextLength包的名字叫com.zf.s2点击完成
6、首先要判断是否是汉字publicstaticintgetChineseCount(Strings)throwsException{//获得汉字的长度charc;intchineseCount=0;if(!"".equals("")){//判断是否为空s=newString(s.getBytes(),"GBK");//进行统一编码}for(inti=0;i<s.length();i++){//for循环c=s.charAt(i);//获得字符串中的每个字符if(isChineseChar(c)){//调用方法进行判断是否是汉字chineseCount++;//等同于chineseCount=chineseCount+1}}returnchineseCount;//返回汉字个数}
7、获得字母、数字、空格的个数publicstaticStringgetStringInfo(Strings){charch;intcharacter=0,blank=0,number=0;for(inti=0;i<s.length();i++)//for循环{ch=s.charAt(i);if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))//统计字母character++;//等同于character=character+1elseif(ch=='')//统计空格blank++;//等同于blank=blank+1elseif(ch>='0'&&ch<='9')//统计数字number++;//等同于number=number+1;}
8、完整代码packagecom.zf.s2;//创建一个包publicclassTextLength{//描述字符串长度的类publicstaticbooleanisChineseChar(charc)throwsException{//判断是否是一个汉字returnString.valueOf(c).getBytes("GBK").length>1;//汉字的字节数大于1}publicstaticintgetChineseCount(Strings)throwsException{//获得汉字的长度charc;intchineseCount=0;if(!"".equals("")){//判断是否为空s=newString(s.getBytes(),"GBK");//进行统一编码}for(inti=0;i<s.length();i++){//for循环c=s.charAt(i);//获得字符串中的每个字符if(isChineseChar(c)){//调用方法进行判断是否是汉字chineseCount++;//等同于chineseCount=chineseCount+1}}returnchineseCount;//返回汉字个数}publicstaticStringgetStringInfo(Strings){//获得字母、数字、空格的个数charch;intcharacter=0,blank=0,number=0;for(inti=0;i<s.length();i++)//for循环{ch=s.charAt(i);if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))//统计字母character++;//等同于character=character+1elseif(ch=='')//统计空格blank++;//等同于blank=blank+1elseif(ch>='0'&&ch<='9')//统计数字number++;//等同于number=number+1;}return"字符串中共有"+character+"个字母,"+blank+"个空格,"+number+"个数字";}publicstaticvoidmain(String[]args)throwsException{//java程序的主入口方法Strings="helloworld世界你好!!123*";System.out.println("字符串的总长度:"+s.length());//显示字符串长度System.out.println("字符串中汉字长度:"+getChineseCount(s));//调用方法显示汉字长度System.out.println(getStringInfo(s));//调用方法显示其它字母类型的长度}}