je上看到笔试题:
http://wangyu.iteye.com/blog/190753
7、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,
应该输出为"我ABC"而不是"我ABC+汉的半个"。
不过作者给出的答案是错误的:
答:代码如下:
package test;
class SplitString
{
String SplitStr;
int SplitByte;
public SplitString(String str,int bytes)
{
SplitStr=str;
SplitByte=bytes;
System.out.println("The String is:′"+SplitStr+"′;SplitBytes="+SplitByte);
}
public void SplitIt()
{
int loopCount;
loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/Split
Byte+1);
System.out.println("Will Split into "+loopCount);
for (int i=1;i<=loopCount ;i++ )
{
if (i==loopCount){
System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));
} else {
System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte)));
}
}
}
public static void main(String[] args)
{
SplitString ss = new SplitString("test中dd文dsaf中男大3443n中国43中国人0ewldfls=103",4);
ss.SplitIt();
}
}
我这里给他纠正一下,代码如下:
//package com.liany.demo.cutstring;
/**
* 按字节数来截取字符串,遇到汉字要整个字截取,不能只截取一半
* @author liany
* 2012-04-20
*/
public class CutString {
/**
* @param args
*/
public static void main(String[] args) {
String str = "1我45人有的";
System.out.println(cutString(str, 1));
System.out.println(cutString(str, 2));
System.out.println(cutString(str, 3));
System.out.println(cutString(str, 4));
System.out.println(cutString(str, 5));
System.out.println(cutString(str, 6));
System.out.println(cutString(str, 7));
System.out.println(cutString(str, 8));
}
/**
* 按字节数来截取字符串,遇到汉字要整个字截取,不能只截取一半
* @param str 原始字符串
* @param bytes 要截取的字节数
*/
public static String cutString(String str, int bytes){
int i = 0; //字符串序号
int count = 0; //累计字节数
while(count < bytes){
byte[] b = (str.charAt(i++)+"").getBytes();
count += b.length;
}
return str.substring(0, i);
}
}
截取的结果是:
1
1我
1我
1我4
1我45
1我45人
1我45人
1我45人有
分享到:
相关推荐
名企面试笔试真题:TI 笔试题
金山笔试题:涉及C++...及一些算法设计技术.....金山笔试题:涉及C++...及一些算法设计技术.....金山笔试题:涉及C++...及一些算法设计技术.....
字节跳动秋招运营笔试题
华为笔试题:JAVA.pdf
2011 广州 面试笔试题:.doc
1 将字符串转化为整数。2 将整数转化为字符串(考虑正负号的问题)。3 实现字符串拷贝函数strcpy(程序的完整性)。4 编程实现memcpy函数(以字节为单位的拷贝)。5 编程实现memmove函数。 等笔试题。
字符串相关笔试题 面试时常考,很不错的说
笔试题项目,字符串压缩,将aabb压缩为a2b2
2015阿里巴巴笔试题:产品经理及运营篇.pdf
Java笔试题:Java基础概念_学生用宣贯.pdf
thoughtworks的笔试题:会议安排。本人使用Java实现,把会议封装成对象,再调用工具类安排会议。下载后的代码里面包含本人姓名,记得改正!附件有运行成功截图!代码能够完美运行,如不能运行我被车撞死!!请放心...
笔试题 还是那个查找一个字符串中出现次数最多的字符 java 代码2
C++面试题笔试题C++ 数据结构算法笔试题资料合集: 50个C、C++面试题.pdf C++ 数据结构、算法笔试题.docx C++基础面试题.docx C++开发工程师面试题库.docx C++技能测试试卷一及答案.docx C++技能测试试卷二及答案....
算法笔试题:(Python实现)—— 算法面试题汇总算法笔试题:(Python实现)—— 算法面试题汇总开始之前Python实现只出现一次的数字多数元素搜索二维矩阵 II合并两个有序数组鸡蛋掉落字符串Python实现验证回文串...
腾讯在线笔试题-把字符串“I am from china.”反转成为“I am from china.”,以及把整个字符串逆序。
字节跳动笔试题.pdf
IC集成电路设计面试笔试题,部分含有答案,本人已经上岸芯片设计公司。
这是完美世界的一道在线笔试题,当时时间不够,没能完全做完,想想真是遗憾,话不多说了直接上代码。
java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 ...