取出一个字符串中从小到大且最长的字符串

2014-11-24 02:08:48 · 作者: · 浏览: 0

题目:现有任意一个长整型字符串例如:12638123456793597734,请编写一段程序获得字符串中从小到大连续(+1连续)且最长的字符串如上结果:1234567

package com.chingcloud.test;



import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* 字符串比较工具
* @author Benjamin
* @version 2014.2.26
*
*/
public class Test02 {
public static void main(String[] args) {
String str = "12638123456793597734" ;
change(str) ;
}
public static void change(String str){
List list = new ArrayList () ;
int beginIndex = 0 ;
int endIndex = str.length() ;
int index = 0 ;
//TODO:把截取出来的字符串放进list里面
for(int i=0;i if((int)str.charAt(i)<(int)str.charAt(i+1)&&(int)str.charAt(i+1)-(int)str.charAt(i)==1){
index++ ;
if(i==endIndex-2){
list.add(str.substring(beginIndex,endIndex)) ;
}
}else{
list.add(str.substring(beginIndex,index+1)) ;
beginIndex = index+1 ;
index = index + 1 ;
}
}
System.out.println(list);
Iterator it = list.iterator() ;
String result = "";
//TODO:比较list里面哪个string字符串最长
while(it.hasNext()){
String ss = it.next() ;
for(int i=0;i for(int j=i+1;j if(list.get(i).length()>list.get(j).length()){
result = list.get(i) ;
}
}
}
}
System.out.println(result);
}

}