Java通过字节分割字符串
2024-08-30 04:58:23
一、题目描述:
一道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+""; //此外还有一种更简便的方法
最新文章
- com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0
- ie的不同版本测试
- 【POJ】1739 Tony&#39;s Tour
- 实习日记:图像检索算法 LSH 的总结与分析(matlab)
- hiveserver2 with kerberos authentication
- JS的构造及其事件注意点总结
- mybatis动态SQL中的sql片段
- leetcode@ [146] LRU Cache (TreeMap)
- java技术栈:一、java编程语言概述
- 由命名空间函数而引发思考--js中的对象赋值问题
- iOS9适配系列教程
- [刷题]算法竞赛入门经典(第2版) 6-6/UVa12166 - Equilibrium Mobile
- MySQL--pt-osc工具学习
- 谁能用通俗的语言解释一下什么是 RPC 框架?
- 2010_3_1最新 完整 FFMPEG 编译详解
- [ 随手记6 ] C/C++ 形参、实参、按值传参、指针传参、引用传参
- weex h5开发区别-实践初级篇
- feign接口调用异常的解决方向
- 深度学习原理与框架-递归神经网络-时间序列预测(代码) 1.csv.reader(进行csv文件的读取) 2.X.tolist(将数据转换为列表类型)
- Android解析XML文件
热门文章
- Win10 家庭版找不到 gpedit.msc;win10怎样关闭windows defender
- python--UUID唯一标识符
- C#静态变量 总结
- sql 同一行中,不同结果在不同列显示
- ssh2整合: No bean named &#39;sessionFactory&#39; is defined(求大神指点)
- asp.net大文件传输断点续传源码
- Java中indexOf的用法
- vue中全局组件与局部组件的注册,以及动态绑定props值
- python3 使用flask连接数据库出现“ModuleNotFoundError: No module named &#39;MySQLdb&#39;”
- docker启动、关闭、重启命令