java 面试中的一道编写一个截取字符串的函数!!!!

函数|字符串

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

package string;
class SplitString
{
private String str;
private int byteNum;

public SplitString(){}

public SplitString(String str,int byteNum)
{
this.str=str;
this.byteNum=byteNum;

}

public void splitIt()
{

byte bt[]=str.getBytes();
System.out.println("Length of this String ===>"+bt.length);
if(byteNum>1)
{
if(bt[byteNum]<0)
{
String substrx=new String(bt,0,--byteNum);
System.out.println(substrx);
}else
{
String substrex=new String(bt,0,byteNum);
System.out.println(substrex);
}

}else
{
if(byteNum==1)
{
if(bt[byteNum]<0)
{
String substr1=new String(bt,0,++byteNum);
System.out.println(substr1);
}else
{
String subStr2=new String(bt,0,byteNum);
System.out.println(subStr2);
}
}else
{
System.out.println("输入错误!!!请输入大于零的整数:");
}
}
}
}

public class TestSplitString
{
public static void main(String args[])
{
String str="我ABC汉DEF";
int num=6;
SplitString sptstr = new SplitString(str,num);
sptstr.splitIt();
}
}

时间: 2024-12-22 14:08:15

java 面试中的一道编写一个截取字符串的函数!!!!的相关文章

JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)

hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加得心应手. 第一方面:开发速度的对比 就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些.Mybatis框架相对简单很容易上手,但也相对简陋些.个人觉得要用好Mybatis还是首先要先理解好Hibernate. 比起两者的开发速度,不仅仅要考虑到两者的特性及性能,更要根据项目需求

初学者 用visual studio中的C#编写一个简单的电子词典 在线等 求帮助

问题描述 初学者 用visual studio中的C#编写一个简单的电子词典 在线等 求帮助 求大神用visual studio2010帮忙编一个简单电子词典的程序,在线等 新人初学者求帮助 解决方案 很简单啊,写个数组就行了 解决方案二: 如果是像上面这样的电子词典,很容易解决.1.使用INI进行保存条目.(想要了解INI可以参考:http://www.cnblogs.com/Ray-chen/archive/2011/11/14/2248496.html)2.使用StreamWriter来读

class-jython中有类似substr截取字符串的函数嘛?是哪个,多谢!

问题描述 jython中有类似substr截取字符串的函数嘛?是哪个,多谢! jython中有类似substr截取字符串的函数嘛?是哪个,多谢! 解决方案 字符串截取函数 substrPHP用substr函数截取字符串中的某部分 解决方案二: jython也是substr嘛? 解决方案三: 没有见过= =函数原型 basic_string<CharType, Traits, Allocator> substr( size_type _Off = 0, size_type _Count = np

Java 面试中的陷阱

自己也面试了很多家公司,觉得这些对今后的学习和工作非常有帮助. 总结的一些知识点非常有代表性.以下是正文. --------------------------------------------------------------------------------------------- 找工作要面试,有面试就有对付面试的办法.以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司. 面试是没

Mustang与Rhino:Java 6中的脚本编写

最新的Java主版本(Java SE 6,又称Mustang)现在正处于beta版本阶段.虽然该版本并不像Java 5的更新那么多,但是它确实有一些有趣的新特性.毋庸置疑,其中的一个就是对脚本编写语言的支持. 诸如PHP.Ruby.JavaScript.Python(或Jython)之类的脚本编写语言被广泛应用于许多领域,并由于其灵活性和简单性而大受欢迎.由于脚本是被解释而不是被编译的,所以可以轻松地从命令行运行和测试它们.这就压缩了编码/测试周期,并提高了开发人员的生产率.脚本通常是动态键入的

Java面试中的陷阱

第一,谈谈final, finally, finalize的区别. final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 abstract的,又被声明为final的.将变量或方法声明为final,可以保证它们在使用中不被改变.被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改.被声明为final的方法也同样只能使用,不能重载 finally?再异常处理时提供 finally 块来执行任何

php截取字符串长度函数详解

常用的字符处理函数  代码如下 复制代码 strstr(string,string) = strchr(,) //从前面第一次出现某个字符串的地方截取到最后 strrchr(string,string) //从某个字符串从最后出现的位置截取到结尾 strpos(string,string[,int]) //某个字符串第一次出现的位置 strrpos(string,string) //某个字符串最后一次出现的位置 substr(string,int[,int]) //从指定位置开始截取字符串,可以

一个JavaScript字符串处理函数

//截取字符串 包含中文处理 function SubString(str, len, hasDot) { var newLength = 0; var newStr = ""; var chineseRegex = /[^\x00-\xff]/g; var singleChar = ""; var strLength = str.replace(chineseRegex, "**").length; for (var i = 0; i <

.net 中trim、TrimStart、TrimEnd字符串处理函数(1/2)

.net 中为我们提供了三个字符串处理函数,相信大家一定都用过:trim.trimstart.trimend. 但在实际应用中,逐个 trim 是相当麻烦的.我们来分析下,请看如下 controller 及其 model: public class personcontroller : controller {     public actionresult query(string name)     {         //...     }     //...     [httppost]