class test4
{
//定义某个字符串的打印方法。
public static void sop(String str)
{
System.out.println(str);
}
public static void main(String[] args)
{
//方式一
String str1="abkkHellohhakskk";
String str2="asHellohhadfid";
sop("字符串1为:"+str1);
sop("字符串2为:"+str2);
sop("这两个字符串中相同最大的字符串为:"+getMaxSub(str1,str2));
}
public static String getMaxSub(String s1,String s2)
{
String max="", min=""; //定义两个最大值和最小值变量
max=(s1.length()>s2.length())?s1:s2; //如果s1的长度大于s2的,那么s1就是最大的,
//就把s1赋给最大值变量max
min=(max==s1)?s2:s1; //如果最大值等于s1时,那么s2就是最小值。就把s2赋给最小值变量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);
if (max.contains(temp)) //if(s1.indexOf(temp)!=-1)
return temp;
}
}
}
}
为什么java虚拟机在编译时,总是提示我没有返回语句啊?我明明已经有return 了。应该返回了。 |