我编写了以下 Java 代码来搜索一对字符串之间共有的最长子字符串。代码如下:
public static void main(String[] args) {
// TODO code application logic here
String cad1="xyzdistancerttp";
String cad2="abcxtwndistattttt";
String seq, lcs;
seq="";
lcs="";
System.out.println(cad1.length());
for (int i=0;i<cad1.length();i++){
for (int j=0;j<cad2.length();j++){
if (cad1.charAt(i)==cad2.charAt(j)){
seq=seq+cad1.charAt(i);
i++;
}
else{
if (seq.length()>lcs.length()){
lcs=seq;
seq="";
}
}
}
}
System.out.println(lcs);
}
当我用这些字符串测试它时,程序返回正确的字符串 dist,但是当我将字符串更改为:
String cad1="xyzdistancerttt";
String cad2="abcxtwndistattttt";
我得到一个索引越界异常。还进行了以下更改:
String cad1="xyzdistancertttttp";
String cad2="abcxtwndistatttttsss";
结果我得到了字符串cttttt,但它应该只打印ttttt。有什么帮助吗?
谢谢