class SplitString{
static void SplitString(String str, int len){
char temp;
String results = "";
//字节数;
int count = 0;
//汉字数;
int han = 0;
int i =0;
while(len > count){
temp =str.charAt(i);
if(Character.getNumericValue(temp)!=-1){
//返回temp体表的字符的Unicode值;
System.out.print("Unicode-values==>"Character.getNumericValue(temp));
// 遇到字母的时候
results = results + temp;
count++;
i++;
}else{
// 遇到汉字的时候,作为unicode字符,汉字的整数值是-1
results = results + temp;
count = count +2;
i++;
han = han +1;
}
}
if(len < count){
if(len==1){
当第一个是汉字时,且len=1;走此方法;表示不能读取一个汉字;
results="";
}else{
//最终结果出来了!!!!!!!!!!!!
results = results.substring(0,count - (han +1));
}
}
System.out.print("results==>"+results);
}
public static void main(String args[]){
String str = "add终dfdffd天daa弄出af来你dafadfdas了";
int len = 4;
SplitString(str, 4);
}
}
static void SplitString(String str, int len){
char temp;
String results = "";
//字节数;
int count = 0;
//汉字数;
int han = 0;
int i =0;
while(len > count){
temp =str.charAt(i);
if(Character.getNumericValue(temp)!=-1){
//返回temp体表的字符的Unicode值;
System.out.print("Unicode-values==>"Character.getNumericValue(temp));
// 遇到字母的时候
results = results + temp;
count++;
i++;
}else{
// 遇到汉字的时候,作为unicode字符,汉字的整数值是-1
results = results + temp;
count = count +2;
i++;
han = han +1;
}
}
if(len < count){
if(len==1){
当第一个是汉字时,且len=1;走此方法;表示不能读取一个汉字;
results="";
}else{
//最终结果出来了!!!!!!!!!!!!
results = results.substring(0,count - (han +1));
}
}
System.out.print("results==>"+results);
}
public static void main(String args[]){
String str = "add终dfdffd天daa弄出af来你dafadfdas了";
int len = 4;
SplitString(str, 4);
}
}