题目: 编写一个截取字符串的函数,输入为一个字符串和字节数, 输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4, 应该截为“我AB”,输入“我ABC汉DEF”,6, 应该输出为“我ABC”而不是“我ABC+汉的半个”。

package cn.itchg;/*** Created by CHG on 2017-02-23 14:48.*/
public class GBK {public static void main(String[] args) throws Exception {String string = "我a很bc你好";System.out.println(splitString(string, 1));}public static String splitString(String str, int length)throws Exception {//无效输入if (str == null || str.length() < 1 || length < 1) {return "";}//用于统计这个字符串中有几个中文字符int wordCount = 0;//统一按照gbk编码来得到他的字节数组,因为不同的编码字节数组是不一样的。byte[] gbks = str.getBytes("GBK");//gbks中,汉字是两个负数表示for (int i = 0; i < length; i++) {int val = gbks[i];if (val < 0) {//汉字个数++wordCount++;}}//完整的汉字if (wordCount % 2 == 0) {return str.substring(0, (length - (wordCount / 2)));}//半个汉字 所以  -1return str.substring(0, (length - (wordCount / 2) - 1));}
}

编写一个截取字符串的函数,输入为一个字符串和字节数, 输出为按字节截取的字符串。 但是要保证汉字不被截半个。相关推荐

  1. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个...

    2019独角兽企业重金招聘Python工程师标准>>> 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如"我ABC ...

  2. 题7.15:要求输入一个职工号,用折半查找法查找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。按职工号由小到大顺序排序,姓名顺序也随之调整

    题目 本题是谭浩强<C程序设计课后习题>题7.15. 题目: 写几个函数: 1.输入10个职工的姓名和职工号. 2.按职工号由小到大顺序排序,姓名顺序也随之调整 3.要求输入一个职工号,用 ...

  3. c语言二维数组输入数据,c语言编写程序,把下面的数据输入到一个二维数组中:...

    c语言编写程序,把下面的数据输入到一个二维数组中: 答案:3  信息版本:手机版 解决时间 2019-10-07 01:08 已解决 2019-10-06 03:19 1. 编写程序,把下面的数据输入 ...

  4. 写几个函数: ①输入10个职工的姓名和职工号; ②按职工号由小到大顺序排序,姓名顺序也随之调整; ③要求输入一个职工号,用折半查找法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。

    写几个函数: ①输入10个职工的姓名和职工号: ②按职工号由小到大顺序排序,姓名顺序也随之调整: ③要求输入一个职工号,用折半查找法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名. #i ...

  5. 截取字符串,但要保证汉字不被截取半个

    编写一个截取字符串的函数,输入为一 个字符串和字节数,输出为按字节截取的字 符串,但要保证汉字不被截取半个,如"我 ABC" ,4,应该截取"我 AB",输入& ...

  6. python编写程序、实现一个数字金字塔_python实现输入任意一个大写字母生成金字塔的示例...

    输入任意一个大写字母,生成金字塔图形 def GoldTa(input): L = [chr(i) for i in range(65, 91)] # 大写字母A--Z idA = 65 # 从A开始 ...

  7. 编写一个求方程ax2 + bx + c = 0的根 的程序,用3个函数分别求当b2-4ac大于零、等于零、和小于零时的方程的根。要求从主函数输入a,b,c的值并输出结果。

    #include<iostream> #include<math.h> using namespace std; void equation_1(int a,int b,int ...

  8. 编写一个程序,从键盘输入长,宽,高,输出长方体的表面积和体积

    这是我自己写的,有什么不对的请多多指教 下面有三种方法 #include<iostream> using namespace std; //方法一  int main() {     do ...

  9. plc字符串怎么计算字节数_plc位、字节、字、双字的关系

    (1)位:最小的存储单位,非0则1,表达两个状态. (2)字节:每8个位组成一个字节.这样一个字节可以表达2的8次方(256)个状态,大于256个状态怎么表示?那就字. (3)字:2个字节组成一个字, ...

最新文章

  1. android 虚线
  2. 0x61.图论 - 最短路
  3. 人人都会设计模式:03-策略模式--Strategy
  4. java 事务_Java中事务总结详解(精华)
  5. python访问注册表_读取注册表的Python代码
  6. 使用Xamarin.Forms的企业应用程序模式(电子书)--访问远程数据
  7. 如何在家搭建oracle,oracle基本操作,自己亲手做过了
  8. HTTP请求中的请求字段
  9. 20190905 Lombok常用注解
  10. 一文弄懂特征缩放(归一化/正则化)
  11. Convert Sorted Array to Binary Search Tree(将有序数组转为二叉搜索树)
  12. phpStorm 2017.3.1,WebStorm 2017.3.4 最新版本免费注册激活方法
  13. 漂亮的不像实力派--锤子新品“坚果手机”发布会
  14. 平房误差函数_平方误差函数(square error function)与平方损失函数(square loss function)...
  15. Windows 10 修改桌面图标三(文件夹图标)
  16. Android性能测试文章汇总
  17. ViewFlipper实现带索引效果的自动播放也可手动滑动的广告栏
  18. kubernetes 之QoS服务质量管理
  19. java map tostring_Map转为String
  20. ROS2 foxy 学习1 :认识节点=模块

热门文章

  1. vue+ts工程:找不到模块“@/api/user”或其相应的类型声明
  2. 【考研高数 武忠祥+880版 自用】高数第四章基础阶段思维导图
  3. 企业寄件,设置自动发送短信教程
  4. H5图片预览及上传(WEB前端)
  5. Python实战24天从入门到精通-大纲
  6. node.js调用.c文件_在Node.js中分派S3文件
  7. 怎么学习云计算?云计算运维和传统运维有何区别?
  8. 09考研!艰难与希望?
  9. 【元宇宙欧米说】众神时代——游戏与区块链结合,重构游戏产业新面貌
  10. squid二级代理配置