Java通过字节分割字符串
一、题目描述:
一道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+""; //此外还有一种更简便的方法
Java通过字节分割字符串的更多相关文章
- java关于split分割字符串,空的字符串不能得到的问题
java关于split分割字符串,空的字符串不能得到的问题 class T { public static void main(String args[]) { String num[] = ne ...
- Java 按字节获得字符串(中文)长度
引自:http://songjianyong.iteye.com/blog/1552973 package cn.com.songjy.test; import java.io.Unsupported ...
- Java按字节截取字符串(GBK编码、UTF-8编码实现)
package FileDemo; import java.io.IOException; public class CutStringTest { /** * @param args * @thro ...
- java按照字节切割字符串,解决汉字的问题
编写一个截取字符串的函数,输入为一个字符串,截取开始地址,截取字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个, 如“我ABC”,0,4,应该截为“我AB”,输入“我ABC汉DEF”,1, ...
- Java 以空格分割字符串
Java中使用类似于 str.split("/"); 的方法可以很方便的实现将一个字符串分割为数组, 但是如果分隔符是一个(或几个)空格呢?? 我们的本能反应或许应该是 str.s ...
- Java 按字节计算字符串的长度
在<从后向前截取指定长度的字符串>中介绍了如何截取字符串,本文介绍如何统计字符串的字节长度. import org.slf4j.Logger; import org.slf4j.Lo ...
- Java 多字符分割字符串
有时候要对不规整的数据进行分割处理,数据中可能会出现一个或多个不同的分割符,这时需要用到 String.split() 方法来进行分割,代码如下: String string = "张三:李 ...
- java反序列化字节转字符串工具
https://github.com/NickstaDB/SerializationDumper SerializationDumper-v1.1.jar 用法 : java -jar Seriali ...
- js,java,jstl多分隔符分割字符串
1.js多分隔符 分割字符串 var username = “zhao,li;wang.liu”: var arr = str.split(/;|:|,|,|./); 括号里面可以写多分割符号,中英 ...
随机推荐
- mysql中给查询结果添加序号列
今天同事给了一个小需求,从一个存有不定数量坐标数据的表(map_trace)中每隔20条取一条.最后写了下面这条SQL: select * from (select @n:=@n+1 as n, a. ...
- Promise中有多个resove
return new Promise((resolve, reject) => { resolve({ status: }) if (true) { resolve({ status: }) } ...
- mongodb添加索引
mongodb可以添加多列索引 稠密索引:该列中即使有null值也能给你查出来 稀疏索引:该列中查不出包含null值的列 二叉树索引是由码放的顺序的,哈希则是散列,相邻的数字,排列顺序并不一定紧邻
- gRPC应用实践
What is RPC? Remote Procedure Call is a high-level model for client-server communication. Assume the ...
- Codeforces Round #449 [ C/A. Nephren gives a riddle ] [ D/B. Ithea Plays With Chtholly ]
PROBLEM C/A. Nephren gives a riddle 题 http://codeforces.com/contest/896/problem/A codeforces 896a 89 ...
- 通过JS完成电梯动画效果
实习单位要求做一个在Vue项目中比较能适配的来反映货梯当前状况的页面效果 用JS写了一个 <!DOCTYPE html> <html> <head> <met ...
- CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)E
题面 这个题暴好啊,考了很多东西. 首先设f(x)为离终点还有x步要走的期望步数,我们可以发现 : 1.x>=k时,x可以转移到的点的下标都<x. 2.x<k时,则可能走回到x或者下 ...
- linux下源码安装mariadb
1.mariadb源码包下载地址:https://downloads.mariadb.org/ 2.安装mariadb是依赖包,创建mysql用户和目录: 命令 yum -y install rea ...
- 19.Python转义字符及用法
在前面的章节中,我们曾经简单学习过转义字符,所谓转义,可以理解为“采用某些方式暂时取消该字符本来的含义”,这里的“某种方式”指的就是在指定字符前添加反斜杠 \,以此来表示对该字符进行转义. 举个例子, ...
- Java线程中的异常处理
对于对线程,当主线程中有子线程运行出现异常时,主线程是不能捕获到该异常的,子线程会直接退出,不会记录任何日志. 解决: 1.子线程中try catch. 2.设置线程的未捕获异常处理器,Uncaugh ...