Java通過字節分割字符串


一、題目描述:

  一道Java筆試題。將字符串按給定的字節數進行分割,輸出分割后的字符串。要求漢字不能進行拆分,如“a中國”不能拆分成“a+中的一半”。

二、解題思路:

  首先利用String類的substring函數逐一取出字符,然后可以通過將字符轉換為字節數組,判斷大小並累加至計數器,如滿足條件則輸出並將計數條件歸空。

三、代碼:

public class Test{
    public static void main(String[] args) {
        /*思路:利用String類中的substring方法逐一將字符串中的字符取出,將其轉換為字節數組后判斷其字節數並累加至計數器,當計數器大於等於k時輸出並重置計數條件*/
        Test t = new Test();
        t.subString("我愛你中國,我因生在中國而感到驕傲",3);
    }

    public void subString(String str,int k){
        String res = "";
        int count = 0;
        for (int i = 0; i < str.length(); i++) {
            String tmpStr = str.substring(i,i+1);
            res += tmpStr;
            count += tmpStr.getBytes().length;
            if(count >= k){
                System.out.println(res);
                res = "";
                count = 0;
            }
            if(i == str.length()-1 && count < k){
                System.out.println(res);
            }
        }
    }
}

//輸出

我愛
你中
國,
我因
生在
中國
而感
到驕

 

 附:Java中字符串和基本數據類型相互轉換的方式:

一、字符串轉換為基本數據類型

  •   利用包裝類的parseXxx(String s)靜態方法(除了Character之外的所有包裝類都提供了該方法)
  •   利用包裝類提供的Xxx(String s)構造器

二、基本數據類型轉換為字符串

  利用String.valueOf()方法

     //字符串轉換為基本數據類型
        String str = "123";
        int a = Integer.parseInt(str);
        int b = new Integer(str);
        String str2 = "123.456";
        float f = Float.parseFloat(str2);
        float f1 = new Float(str2);
        //基本數據類型轉換為字符串
        String ss = String.valueOf(a);
        String ss2= String .valueOf(f);
        String ss3 = a+"";  //此外還有一種更簡便的方法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM