public class SubString { public String subString(String str,int subBytes)
{
int bytes=0;
for (int i = 0; i < str.length(); i++) {
if (bytes==subBytes) {
return str.substring(0,i);
}
char c=str.charAt(i);
System.out.println(c);
if (c<256) {
c+=1;
}
else
{
c+=2;
if (bytes-subBytes==1) {
return str.substring(0,i);
}subString
}
}
return str;
}
public static void main(String[] args) {
SubString subStr=new SubString();
String a=subStr.subString("我abc", 4);
System.out.println(a);
}
}
截取四个字节,应该是'我ab',哪错了啊?

解决方案 »

  1.   

    Unicode,一个char可以存储一个汉字
      

  2.   

      为啥有你不用,一定要自己写啊你闲得蛋痛啊JAVA东西大把,你学都学不过来。
      

  3.   

    String a=subStr.subString("我abc", 4);  我试了一下 好像你的语法 就不对  你在 好好 看看API
      

  4.   

    public class SubString {public String subString(String str,int subBytes)
    {
    int bytes=0;
    for (int i = 0; i < str.length(); i++) {
    if (bytes==subBytes) {
    return str.substring(0,i);
    }
    char c=str.charAt(i);
    System.out.println(c);
    if (c<256) {
    bytes+=1;
    }
    else
    {
    bytes+=2;
    if (bytes-subBytes==1) {
    return str.substring(0,i);
    }
    }
    }
    return str;
    }
    public static void main(String[] args) {
    SubString subStr=new SubString();
    String a=subStr.subString("我abc", 4);
    System.out.println(a);
    }
    }