本帖最后由 紫衣侯 于 2013-5-31 18:30 编辑
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串但是要保证汉字不被截半个。
这个题大家应该都见过做过,不过我有一个做法不知道对不对,请计算机基础好的同学看看。
public static void main(String[] args) {
sub("我减师hde肥sfsa", 5);
}
public static void sub(String str, int k) {
byte[] by = str.getBytes();
byte[] bb = new byte[k+1];
if(by[k+1]>0){
for(int i = 0;i<k;i++){
bb=by;
}
}else{
for(int i = 0;i<k+1;i++){
bb=by;
}
}
String result = new String(bb);
System.out.println(result);
}
}
这是简单实现的代码,因为我发现通过getbyte()方法获取byte数组后,由于一个汉字占两个字节,如果打印出数组会发现,如果是汉字就会是两个负数,其它则是一个正数,这就是我的一个想法,不过不知道对不对,这到底只是表象还是真理? |