/**
*
* 一个中文汉字算两位,一个英文字母算一位,计算中文和英文混合的字符串长度。字符串:String str = "我不好java";
* @author 新新
*/
public class Teststr2 {
public static void main(String[] args)
{
String str = "我不好java";
int n= calculatePlaces(str);
System.out.println(n);
}
/**
* 计算位数
* @param str
* @return
*/
public static int calculatePlaces(String str)
{
int m = 0;
char arr[] = str.toCharArray();
for(int i=0;i<arr.length;i++)
{
char c = arr[i];
if((c >= 0x0391 && c <= 0xFFE5)) //中文字符
{
m = m + 2;
}
else if((c>=0x0000 && c<=0x00FF)) //英文字符
{
m = m + 1;
}
}
return m;
}
}