JAVA經典截串面試題!

編寫一個截取字符串的函數,輸入爲一個字符串和字節數,輸出爲按字節截取的字符串。但是要保證漢字不被截半個,如“我ABC”4,應該截爲“我AB”,輸入“我ABC漢DEF”,6,應該輸出爲“我ABC”而不是“我ABC+漢的半個”。

 

public class test
{
     
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,還請各位高手,多多指教!

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章