?? stringcompare.java
字號:
package com.ssl;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class StringCompare {
public StringCompare() {
}
public String getResult(String as, String bs) {
int alength = as.length(); //得到字符串a的長度
int blength = bs.length(); //得到字符串b的長度
int maxsublength; //最大的可能子字符串長度
//得到最大的可能子字符串長度
if(alength<blength){
maxsublength = alength;
}else{
maxsublength = blength;
}
int maxlength = 0;
int begin = 0;//最大子字符串的起點
int end = 0; //最大子字符串的終點
//搜索子字符串的長度從最大的可能子字符串長度開始,一直遞減,搜索到最小的1為止
//當前的子字符串唯一為increase for (int increase = maxsublength;increase>0;increase--) {
//搜索每個子字符串的時候,a字符串從首位開始搜索,每個循環向前移動一格,到超出范圍為止
for (int p = 0; p + increase < alength; p++) {
//取到字符串a中,以p為當前搜索首位,位移increase當前搜索的子字符串,
String asub = as.substring(p, p + increase);
System.out.println("asub----->"+asub);
//搜索每個子字符串的時候,b字符串從首位開始搜索,每個循環向前移動一格,到超出范圍為止
for (int q = 0; q + increase < blength; q++) {
//取到字符串b中,以q為當前搜索首位,位移increase當前搜索的子字符串,
String bsub = bs.substring(q, q + increase);
System.out.println("bsub----->"+bsub);
//如果a的當前子字符串和b的子字符串相等,由于increase是從大至小搜索
//一旦發現,既是最大,這個字符串就是最大子字符串,返回結果
if (asub.equals(bsub)) {
if (increase > maxlength) {
maxlength = increase;
begin = q;
end = q + increase;
}
return bs.substring(begin,end);
}
}
}
}
System.out.println(maxlength);
System.out.println(bs.substring(begin,end));
return bs.substring(begin,end);
}
public static void main(String[] args) {
StringCompare stringcompare = new StringCompare();
//stringcompare.getResult("abccade","dgcadde");
System.out.println(stringcompare.getResult("abccade","dgcadde"));
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -