日期:2014-05-20  浏览次数:20828 次

用java 编写程序求最大连续递增的有序子串(求解)???遇到的问题
当输入类似于:ababc之类的无法将最后一次的str1与str2比较就结束,请问怎么改啊
import java.util.Scanner;
public class tt{
public static void main(String[]args){
System.out.print("请输入一行字符串:");
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
System.out.print("最大的连续子串是:"+getSubstring(s));
}
public static String getSubstring(String s){
String str1="";
String str2="";
for(int i=0;i<s.length();i++){
if(str1.equals(""))str1+=s.charAt(i);
if (s.charAt(i)+1==s.charAt(i+1))
str1+=s.charAt(i+1);
else{
if(str1.length()>str2.length())
str2=str1;
str1="";
}

}
return str2;
}
}


------解决方案--------------------
if ((i+1<s.length())&&s.charAt(i) + 1 == s.charAt(i + 1))
//防止数组越界加判断