簡單實現(xiàn)代碼如下:
創(chuàng)新互聯(lián)是一家專業(yè)提供明溪企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為明溪眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
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屬性得到字符串的長度,數(shù)組也是使用length屬性得到數(shù)組的長度,例如以下代碼:
String [] a = new String [3];
System.out.println(a.length);
這兩句代碼將在控制臺打印數(shù)組a的長度為:3
通過string自帶的length()方法獲取字符串長度。
string a="abcdefg";//定義一個字符串
int len = a.length();//通過length獲取字符串長度,這里等于7
length()該方法返回此字符串的長度。長度是等于unicode代碼單元中的字符串的數(shù)目。
首先打開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"); ? //進(jìn)行統(tǒng)一編碼
}
for(int i=0;is.length();i++){//for循環(huán)
c=s.charAt(i); ? ? ? ? ? ? ?//獲得字符串中的每個字符
if(isChineseChar(c)){//調(diào)用方法進(jìn)行判斷是否是漢字
chineseCount++; ? ? ? ? ? ? ? ? //等同于chineseCount=chineseCount+1
}
}
return chineseCount; ? ? ? ? ? ? ? ? ? //返回漢字個數(shù)
}
獲得字母、數(shù)字、空格的個數(shù)
public static String getStringInfo(String s){
char ch;
int character=0,blank=0,number=0;
for(int i=0;i s.length();i++) ? ?//for循環(huán)
{
ch=s.charAt(i);
if((ch='a'ch ='z')||(ch='A'ch ='Z'))//統(tǒng)計字母
character++; //等同于character=character+1
else if(ch==' ') ? ? ? ? ? ? ? ? ? ? ? ? //統(tǒng)計空格
blank++; //等同于blank=blank+1
else if(ch='0' ch ='9') ? ? ? ? ? ? ? ?//統(tǒng)計數(shù)字
number++; //等同于number=number+1;
}
完整代碼
package com.zf.s2;//創(chuàng)建一個包
public class TextLength {//描述字符串長度的類
public static boolean isChineseChar(char c) throws Exception{//判斷是否是一個漢字
return String.valueOf(c).getBytes("GBK").length1;//漢字的字節(jié)數(shù)大于1
}
public static int getChineseCount(String s) throws Exception{//獲得漢字的長度
char c;
int chineseCount=0;
if(!"".equals("")){//判斷是否為空
s=new String(s.getBytes(),"GBK"); ? //進(jìn)行統(tǒng)一編碼
}
for(int i=0;is.length();i++){//for循環(huán)
c=s.charAt(i); ? ? ? ? ? ? ?//獲得字符串中的每個字符
if(isChineseChar(c)){//調(diào)用方法進(jìn)行判斷是否是漢字
chineseCount++; ? ? ? ? ? ? ? ? //等同于chineseCount=chineseCount+1
}
}
return chineseCount; ? ? ? ? ? ? ? ? ? //返回漢字個數(shù)
}
public static String getStringInfo(String s){//獲得字母、數(shù)字、空格的個數(shù)
char ch;
int character=0,blank=0,number=0;
for(int i=0;i s.length();i++) ? ?//for循環(huán)
{
ch=s.charAt(i);
if((ch='a'ch ='z')||(ch='A'ch ='Z'))//統(tǒng)計字母
character++; //等同于character=character+1
else if(ch==' ') ? ? ? ? ? ? ? ? ? ? ? ? //統(tǒng)計空格
blank++; //等同于blank=blank+1
else if(ch='0' ch ='9') ? ? ? ? ? ? ? ?//統(tǒng)計數(shù)字
number++; //等同于number=number+1;
}
return "字符串中共有"+character+"個字母,"+blank+"個空格,"+number+"個數(shù)字";
}
public static void main(String []args) throws Exception {//java程序的主入口方法
String s="hello world 世界你好!!123*";
System.out.println("字符串的總長度:"+s.length());//顯示字符串長度
System.out.println("字符串中漢字長度:"+getChineseCount(s)); //調(diào)用方法顯示漢字長度
System.out.println(getStringInfo(s)); ? ? ? ? ? ? ? ? ? ? ? //調(diào)用方法顯示其它字母類型的長度
}
}