一、题目描述:

  一道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);
}
}
}
} //输出

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

 

附:Java中字符串和基本数据类型相互转换的方式:

一、字符串转换为基本数据类型

  •   利用包装类的parseXxx(String s)静态方法(除了Character之外的所有包装类都提供了该方法)
  •   利用包装类提供的Xxx(String s)构造器

二、基本数据类型转换为字符串

  利用String.valueOf()方法

     //字符串转换为基本数据类型
String str = "123";
int a = Integer.parseInt(str);
int b = new Integer(str);
String str2 = "123.456";
float f = Float.parseFloat(str2);
float f1 = new Float(str2);
//基本数据类型转换为字符串
String ss = String.valueOf(a);
String ss2= String .valueOf(f);
String ss3 = a+""; //此外还有一种更简便的方法

最新文章

  1. com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0
  2. ie的不同版本测试
  3. 【POJ】1739 Tony&#39;s Tour
  4. 实习日记:图像检索算法 LSH 的总结与分析(matlab)
  5. hiveserver2 with kerberos authentication
  6. JS的构造及其事件注意点总结
  7. mybatis动态SQL中的sql片段
  8. leetcode@ [146] LRU Cache (TreeMap)
  9. java技术栈:一、java编程语言概述
  10. 由命名空间函数而引发思考--js中的对象赋值问题
  11. iOS9适配系列教程
  12. [刷题]算法竞赛入门经典(第2版) 6-6/UVa12166 - Equilibrium Mobile
  13. MySQL--pt-osc工具学习
  14. 谁能用通俗的语言解释一下什么是 RPC 框架?
  15. 2010_3_1最新 完整 FFMPEG 编译详解
  16. [ 随手记6 ] C/C++ 形参、实参、按值传参、指针传参、引用传参
  17. weex h5开发区别-实践初级篇
  18. feign接口调用异常的解决方向
  19. 深度学习原理与框架-递归神经网络-时间序列预测(代码) 1.csv.reader(进行csv文件的读取) 2.X.tolist(将数据转换为列表类型)
  20. Android解析XML文件

热门文章

  1. Win10 家庭版找不到 gpedit.msc;win10怎样关闭windows defender
  2. python--UUID唯一标识符
  3. C#静态变量 总结
  4. sql 同一行中,不同结果在不同列显示
  5. ssh2整合: No bean named &#39;sessionFactory&#39; is defined(求大神指点)
  6. asp.net大文件传输断点续传源码
  7. Java中indexOf的用法
  8. vue中全局组件与局部组件的注册,以及动态绑定props值
  9. python3 使用flask连接数据库出现“ModuleNotFoundError: No module named &#39;MySQLdb&#39;”
  10. docker启动、关闭、重启命令