/*
第10题:编写函数,从一个字符串中按字节数截取一部分,但不能截取出半个中文(GBK码表)
例如:从“HM程序员”中截取2个字节是“HM”,截取4个则是“HM程”,截取3个字节也要是"HM"而不要出现半个中文
分析:
1、首先将字符串转换成字节数组,可以自定义获取字节个数进行字节的获取
2、按照要求不能获取半个中文,因为在GBK编码表中对应的汉字是用复数表示的,所以可以根据获取到最后一个字节在GBK中的编码是否小于0进行判断,
如果小于0,则将最后一个字节忽略,进行输出
拓展思路:
结合集合、流 进行拓展练习
1、从键盘录入获取字符串以及要截取的字符个数,以输入over结束输入,
2、对获取的信息封装成Informations对象,存储进List集合中
3、调用方法对字符串进行截取,判断如果最后一个字节为负数且倒数第二个字符不为负数,则最后一个字节为半个中文,这时只截取数-1,
截取到的字节就能转成有效的字符串,而不会出现乱码的情况;
4、将截取后的字符串也存储进集合,通过遍历集合的输出最终的截取结果
*/
|
|