新建一个java项目,名字随意起
名字起好后,点击完成
右键点击项目名称,新建,类
类的名字叫TextLength
包的名字叫 com.zf.s2,点击完成 判断是否是汉字
public static int getChineseCount(String s) throws Exception{//获得汉字的长度char c
int chineseCount=0
if(!"".equals("")){//判断是否为空
s=new String(s.getBytes(),"GBK") //进行统一编码
}
for(int i=0i<s.length()i++){//for循环
c=s.charAt(i) //获得字符串中的每个字符
if(isChineseChar(c)){//调用方法进行判断是否是汉字
chineseCount++ //等同于chineseCount=chineseCount+1
}
}
return chineseCount //返回汉字个数
}
获得字母、数字、空格的个数
public static String getStringInfo(String s){
char ch
int character=0,blank=0,number=0
for(int i=0i <s.length()i++) //for循环
{
ch=s.charAt(i)
if((ch>='a'&&ch <='z')||(ch>='A'&&ch <='Z'))//统计字母
character++//等同于character=character+1
else if(ch==' ') //统计空格
blank++//等同于blank=blank+1
else if(ch>='0'&&ch <='9') //统计数字
number++//等同于number=number+1
}
完整代码
package com.zf.s2//创建一个包
public class TextLength {//描述字符串长度的类
public static boolean isChineseChar(char c) throws Exception{//判断是否是一个汉字
return String.valueOf(c).getBytes("GBK").length>1//汉字的字节数大于1
}
public static int getChineseCount(String s) throws Exception{//获得汉字的长度
char c
int chineseCount=0
if(!"".equals("")){//判断是否为空
s=new String(s.getBytes(),"GBK") //进行统一编码
}
for(int i=0i<s.length()i++){//for循环
c=s.charAt(i) //获得字符串中的每个字符
if(isChineseChar(c)){//调用方法进行判断是否是汉字
chineseCount++ //等同于chineseCount=chineseCount+1
}
}
return chineseCount //返回汉字个数
}
public static String getStringInfo(String s){//获得字母、数字、空格的个数
char ch
int character=0,blank=0,number=0
for(int i=0i <s.length()i++) //for循环
{
ch=s.charAt(i)
if((ch>='a'&&ch <='z')||(ch>='A'&&ch <='Z'))//统计字母
character++//等同于character=character+1
else if(ch==' ') //统计空格
blank++//等同于blank=blank+1
else if(ch>='0'&&ch <='9') //统计数字
number++//等同于number=number+1
}
return "字符串中共有"+character+"个字母,"+blank+"个空格,"+number+"个数字"
}
public static void main(String []args) throws Exception {//java程序的主入口方法
String s="hello world 世界你好!!123*"
System.out.println("字符串的总长度:"+s.length())//显示字符串长度
System.out.println("字符串中汉字长度:"+getChineseCount(s))//调用方法显示汉字长度
System.out.println(getStringInfo(s)) //调用方法显示其它字母类型的长度
}
}
长度不会多一位。总结字符串有长度限制,在编译期,要求字符串常量池中的常量不能超过65535,并且在javac执行过程中控制。使用如上形式定义一个字符串的时候,当我们执行javac编译时,是会抛出异常的。
如果超出这个数量,在编译的时候编译器会报错。