編寫一個截取字符串的函數,輸入爲一個字符串和字節數,輸出爲按字節截取的字符串。但是要保證漢字不被截半個,如“我ABC”4,應該截爲“我AB”,輸入“我ABC漢DEF”,6,應該輸出爲“我ABC”而不是“我ABC+漢的半個”。
{
public static void main(String [] args){
test a = new test();
System.out.println("[" + a.subByteString("我ABC",4) + "]");
System.out.println("[" + a.subByteString("我ABC漢DEF",6) + "]");
System.out.println("[" + a.subByteString("我ABC漢DEF",7) + "]");
System.out.println("[" + a.subByteString("我ABC漢DEF",8) + "]");
}
public String subByteString(String str,int length){
byte [] bt = str.getBytes();
if(bt[length] < 0){
length--;
}
byte [] nbt = new byte[length];
for(int i=0;i<length;i++){
nbt[i] = bt[i];
}
return new String(nbt);
}
}
大代碼測試結果:
[我AB]
[我ABC]
[我ABC漢]
[我ABC漢D]
不知道思路是否正確,方法是否正確,是否有BUG,還請各位高手,多多指教!