来看猎取最年夜长度存在倒置字符串的子串
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net网页编程,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。/*******************************************************************************
*@Description字符串操纵类
*@AuthorCManLH@163.com
*@Date2008/05/24
******************************************************************************/
publicclassStringX{
/*
*@Function从指定字符串中猎取最年夜长度存在倒置字符串的子串
*@ParmstrString源字符串
*@Return存在倒置字符串的最年夜子串,存在多个时,仅前往最右侧的一个
*/
publicStringgetMaxLenReverseString(Stringstr){
intstartIndex=-1;
intlenOfReverseStr=2;
inttmp=-1;
for(inti=lenOfReverseStr;i<=str.length();i++){
tmp=getPosOfReverseString(str,i);
if(tmp!=-1){
lenOfReverseStr=i;
startIndex=tmp;
str=str.substring(0,tmp+lenOfReverseStr);
}else{
break;
}
}
returnstartIndex==-1?str.substring(0,1):str.substring(startIndex,startIndex+lenOfReverseStr);
}
/*
*@Function从指定字符串中,取得最右侧特定长度存在其倒置字符串的子串的肇端地位
*@ParmstrString源字符串,将从中猎取存在倒置字符串的子串
*@ParmlenOfReverseStrint倒置字符串的长度
*@Returnint存在倒置字符串的子串的肇端地位.如不存在子串的倒置字符串或参数毛病,才前往-1
*/
publicintgetPosOfReverseString(Stringstr,intlenOfReverseStr){
if(lenOfReverseStr>str.length()||lenOfReverseStr<1){
return-1;
}
for(inti=str.length()-lenOfReverseStr;i>=0;i--){
if(str.indexOf(getReverseString(str,i,lenOfReverseStr))!=-1){
returni;
}
}
return-1;
}
/*
*@Function从指定字符串中失掉其子串的倒置字符串
*@ParmstrString源字符串,将从中取得倒置字符串
*@Parmsint将被倒置子串在源字符串中的肇端地位
*@Parmlenint将被倒置子串的长度
*@ReturnString倒置后失掉的字符串。如参数毛病就前往空字符串
*/
publicStringgetReverseString(Stringstr,ints,intlen){
inttmp=s+len;
if(tmp>str.length()||tmp<1||s*len<0){
return"";
}
StringBuilderreverseStr=newStringBuilder(len);
for(inti=s+len-1;i>=s;i--){
reverseStr.append(str.charAt(i));
}
returnreverseStr.toString();
}
publicstaticvoidmain(String[]args){
StringXobjTest=newStringX();
System.out.println(objTest.getMaxLenReverseString("ARSTUVYWFDEVUTSRZ"));
System.out.println(objTest.getMaxLenReverseString("ABC"));
System.out.println(objTest.getMaxLenReverseString("DEFDEDJH"));
System.out.println(objTest.getMaxLenReverseString("HIJKLKJIH"));
}
}
进而能拉拢大多数程序员用windows产品。并且从net网页编程网页编程AJAX可以跨平台这一点上,间接证明了我们的推断,至少证明了微软做过这方面的研究。所以如果哪一天突然听说了.net网页编程可以跨平台了,那么请不要吃惊,如果这一天真的到来,java就到了真正和.net网页编程决战的时刻。因为不到万不得以的时候微软是不会推出跨平台的.net网页编程的,如果跨平台的.net网页编程还不足以对抗java的话,那么微软还剩的手段就是开源了,呵呵。 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 是一种使用者不需花费很多时间学习的语言 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
页:
[1]