本帖最后由 yuan 于 2012-5-26 13:08 编辑
代码部分:
给定两个字符串,获取两个字符串中最大相同的子串.for(int y=0,z=arr.length=-x; z!=arr.length+1; y++,z++)
*/
- public class Exercise2 {
- /**
- * @param args
- */
- public static void main(String[] args) {
- String s1 = "Inputabcdefghi";
- String s2 = "OutputInput";
- String s = getMaxSubstring(s2, s1);
- System.out.println("s=" + s);
- }
- public static String getMaxSubstring(String s1, String s2) {
- String max, min;
- max = s1.length() > s2.length() ? s1 : s2;
- min = max.equals(s1) ? s2 : s1;
- System.out.println(max + "::" + min);
- for (int x = 0; x < min.length(); x++) {
- for (int y = 0, z = min.length() - x; z != min.length() + 1; y++, z++) {
- String temp = min.substring(y, z);
- // System.out.println(temp);
- if (max.contains(temp)){
- return temp;
- }
- }
- }
- return null;
- }
- }
复制代码 问题部分:
前面代码输出的结果毫无疑问是Input
当我把声明的字符串为
String s1 = "Inputabcde";
String s2 = "abcdeInput";
问题就来了
如果我的需求是:把两个相同长度的的字符串都能输出出来,
也就是结果为:
Input
abcde
怎么来用代码表现:求高手用代码解决我的问题,感激不尽。
|