简单实现代码如下:
创新互联是一家专业提供明溪企业网站建设,专注与做网站、成都网站建设、成都h5网站建设、小程序制作等业务。10年已为明溪众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
public
class
stringlength
{
/**
*
获取字符串的长度,如果有中文,则每个中文字符计为2位
*
@param
value
指定的字符串
*
@return
字符串的长度
*/
public
static
int
length(string
value)
{
int
valuelength
=
0;
string
chinese
=
"[\u0391-\uffe5]";
/*
获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1
*/
for
(int
i
=
0;
i
value.length();
i++)
{
/*
获取一个字符
*/
string
temp
=
value.substring(i,
i
+
1);
/*
判断是否为中文字符
*/
if
(temp.matches(chinese))
{
/*
中文字符长度为2
*/
valuelength
+=
2;
}
else
{
/*
其他字符长度为1
*/
valuelength
+=
1;
}
}
return
valuelength;
}
public
static
void
main(string
args[]){
string
str
=
"hello你好";
system.out.println(stringlength.length(str));
}
}
Java字符串使用字符串对象的length属性得到字符串的长度,例如以下代码:
String str = "abc_";
System.out.println(str.length());
这两句代码将在控制台打印str字符串的长度为:4
Java中除了字符串使用length属性得到字符串的长度,数组也是使用length属性得到数组的长度,例如以下代码:
String [] a = new String [3];
System.out.println(a.length);
这两句代码将在控制台打印数组a的长度为:3
通过string自带的length()方法获取字符串长度。
string a="abcdefg";//定义一个字符串
int len = a.length();//通过length获取字符串长度,这里等于7
length()该方法返回此字符串的长度。长度是等于unicode代码单元中的字符串的数目。
首先打开my eclipse
新建一个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=0;is.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=0;i 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").length1;//汉字的字节数大于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=0;is.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=0;i 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)); //调用方法显示其它字母类型的长度
}
}