A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 林峰 中级黑马   /  2014-6-9 02:05  /  913 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.itheima;
/**
* 第10题:编写函数,从一个字符串中按字节数截取一部分,但不能截取出半个中文(GBK码表),
* 例如:从“HM程序员”中截取2个字节是“HM”,截取4个则是“HM程”,截取3个字节也要是"HM"而不要出现半个中文
* @author 林峰
*
*/
public class TextA10 {

        public static void main(String[] args)throws Exception
        {
                String s="HM程序员,我的目标" ;//要截取的字符窜
         String ss= jiequ(s,9);//s为要截取的字符窜,3为要截取的长度,ss为截取后的结果
       System.out.println("截取后的结果是:"+ss);

        }
    public static String jiequ(String s,int len)
    {try{
            byte[] b=s.getBytes("GBK");
            int cont=0;//定义一个计数器
            for(int x=0;x<len;x++)
            {    if(b[x]<0)
                        cont++;        }
    return new String(b,0,len-cont%2,"GBK");}
    catch(Exception e){System.out.println("输入了错误的参数或角标越界,请重新输入");
    }
    return "";  
}
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马