为什么一直报错说返回一个String

臭臭手抽抽 2013-11-26 02:25:21
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);
}
}
}
...全文
346 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuer0520 2013-11-27
  • 打赏
  • 举报
回复
1楼正解!!
时光清浅 2013-11-26
  • 打赏
  • 举报
回复
1楼正解
张自强 2013-11-26
  • 打赏
  • 举报
回复
问题解决了,夜里2点发帖。。。。。赞下楼主精神,
-阿克蒙德- 2013-11-26
  • 打赏
  • 举报
回复
一个不是递归的递归?
___________小P 2013-11-26
  • 打赏
  • 举报
回复
定条件不满足你那2种的时候,方法就会缺少返回值
末日哥 2013-11-26
  • 打赏
  • 举报
回复
ls的说得对,当判定条件不满足你那2种的时候,方法就会缺少返回值
姜小白- 2013-11-26
  • 打赏
  • 举报
回复
楼上正解,或添加return null;

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);
     }
     return null;
    }
快乐的2 2013-11-26
  • 打赏
  • 举报
回复
引用 1 楼 ghostkngiht 的回复:
缺少返回语句

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 "你要返回的值";//少这个
        }
    }
ghostkngiht 2013-11-26
  • 打赏
  • 举报
回复
缺少返回语句

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 "你要返回的值";//少这个
        }
    }
haha_321 2013-11-26
  • 打赏
  • 举报
回复
缺少返回语句正解。有时候我在catch中少些return。
android_Y 2013-11-26
  • 打赏
  • 举报
回复
楼主是用记事本写的么? eclipse反正编译都不能过
soyestrellafortuna 2013-11-26
  • 打赏
  • 举报
回复
我在想,就这中程序IDE不报错?IDE肯定过不去吧应该。
Mourinho 2013-11-26
  • 打赏
  • 举报
回复
引用 1 楼 ghostkngiht 的回复:
缺少返回语句

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 "你要返回的值";//少这个
        }
    }
+1

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧