public static String getMaxSubString(String s1,String s2)
{
swap_max_min(s1,s2);
System.out.println("S2"+s2);//互换传进来的2个字符串,输出s2应当不变
for (int x =0;x<s2.length() ;x++ )
{
//z !=min.length()+1,不等于才转,等于时就不转了。也即是z<=min.length()
//,为什么能取到length()呢?因为取到最后一位的值是min.length()-1,包头不包尾,所以要取到length()。
for (int y = 0,z=s2.length()-x;z !=s2.length()+1 ; y++,z++)
{
String temp = s2.substring(y,z);//获取子串的方式
//String_Test.sop(temp);
if (s1.contains(temp))//if(max.indexOf(temp)!=-1)
{
return temp;
}
}
}
return "";
}
private static void swap_max_min(String str1,String str2)
{
if (str2.length()>str1.length())
{
String temp = str1;
str1 =str2;
str2 = temp;
}
System.out.println("str2"+str2);//验证换的操作是否成功
}
如上,我想将毕老师获取最长子串中的 获取长短子串抽离出来(swap),首先swap_max_min确实可以将str1,str2的内容互换,但是并未将其传回给调用它的函数。我的问题是为什么数组互换用的swap能够将换后内容传回去,而这个不行。我想我对标题的3个东西以往的理解是非常不全面的,甚至有些地方是理解错了的。已经懵了。说画个图能理解的,请您画个图。说局部变量怎么怎么的也恳请您说详细点。感谢您的帮助,O(∩_∩)O谢谢。
|
|