gpt4 book ai didi

java - 如何在具有 if\else 条件的递归方法中正确放置 return 语句

转载 作者:行者123 更新时间:2023-11-29 06:30:35 27 4
gpt4 key购买 nike

我正在编写使用 if\else 控制返回语句构建的递归代码。但是,当我编译时,我得到一个“缺少返回语句”,因为我的所有返回都符合条件。我正在添加“假”返回(该方法永远不会到达)但我想知道是否有更智能的解决方案。

例如:

    private static boolean compare(int[][] a, int i) {
if (i == a.length - 1) {
return true;
}
else {
if (calcLineSum(a[i], 0, 0) == calcLineSum(a[i + 1], 0, 0)){
compare(a, i + 1);
}
else {
return false;
}
}
return false; //<= = 'fake'
}
private static int calcLineSum(int[] a, int i, int sum) {
if (i == a.length)
return sum;
else {
sum = sum + a[i];
calcLineSum(a, i + 1, sum);
}
return sum; //<= = 'fake'
}

非常感谢您的意见!

最佳答案

我认为如果将 compare(a,i+1); 替换为 return compare(a,i+1);calcLineSum(a, i+1,sum); 使用 return calcLineSum(a,i+1,sum); 它应该编译。

每个 ifelse if 都应该以 return 结束。

关于java - 如何在具有 if\else 条件的递归方法中正确放置 return 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35327296/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com