日期:2014-05-20  浏览次数:20663 次

为什么一直报错说返回一个String
public class LCS2
{

public static String printLCS2(char[] x, char[] y, int i, int j)
{

if (x[i - 1] == y[j - 1])
{

return printLCS2(x, y, i - 1, j - 1)+ String.valueOf(x[i - 1]);

} else if(printLCS2(x, y, i - 1, j).length() > printLCS2(x, y, i,j - 1).length())
{
return printLCS2(x, y, i - 1, j);
}
}
}

------解决方案--------------------
缺少返回语句

public static String printLCS2(char[] x, char[] y, int i, int j)
    {
 
        if (x[i - 1] == y[j - 1])
        {
 
            return printLCS2(x, y, i - 1, j - 1)+ String.valueOf(x[i - 1]);
 
        } else if(printLCS2(x, y, i - 1, j).length() > printLCS2(x, y, i,j - 1).length())
        {
            return printLCS2(x, y, i - 1, j);
        } else {
            return "你要返回的值";//少这个
        }
    }

------解决方案--------------------
引用:
缺少返回语句

public static String printLCS2(char[] x, char[] y, int i, int j)
    {
 
        if (x[i - 1] == y[j - 1])
        {
 
            return printLCS2(x, y, i - 1, j - 1)+ String.valueOf(x[i - 1]);
 
        } else if(printLCS2(x, y, i - 1, j).length() > printLCS2(x, y, i,j - 1).length())
        {
            return printLCS2(x, y, i - 1, j);
        } else {
            return "你要返回的值";//少这个
        }
    }

------解决方案--------------------
问题解决了,夜里2点发帖。。。。。赞下楼主精神,