class MaxSubstring // 在Java中 有一个习惯 就是顾头不顾尾
{
public String maxString(String s1, String s2)
{
for (int x=0; x<s2.length();x++ )
{
for (int y=0,z=s2.length()-x-1 ;z!=s2.length() ; y++,z++)
{
String temp=s2.substring(y,z); /
if (s1.contains(temp))
{
return temp;
}
}
}
return "";
}
}
class MaxSubstringTest
{
public static void main(String[] args)
{
MaxSubstring d= new MaxSubstring();
String str1="abcwertyuiodefhello";
String str2="cvbnmhello"; // 如果我这样写的话 输出的结果就是hell了 这是为什么?
System.out.println(d.maxString(str1,str2));
}
}
红色部分是我的问题和我以为出错误的地方 我不明白的是明明字符串是从0开始算起 这样str.length()来指示字符串不是已经越界了吗? |