首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

用java 编写程序求最大连续递增的有序子串(求解)?遇到的有关问题

2012-04-08 
用java 编写程序求最大连续递增的有序子串(求解)???遇到的问题当输入类似于:ababc之类的无法将最后一次的s

用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))
//防止数组越界加判断

热点排行