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);
            }
        }
    }
}

//输出

我爱
你中
国,
我因
生在
中国
而感
到骄

 

猜你喜欢

转载自www.cnblogs.com/chiweiming/p/11828965.html
今日推荐