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