java - 为什么Java递归代码不能正常工作?返回错误输出
问题描述
为什么递归无法计算所有可能性但只计算一个?
我的代码最初是为了检查数字的数量:可以添加 1,2,3,4 以给出 10。尽管它每次都返回 1...
我一直在网上寻找答案,但没有得到很好的结果,有人知道如何解决吗?
编码:
public class main {
static int count = 0;
public static boolean work(int i){
if (i == 10){
count +=1;
return true;
}else if(i>10){
return false;
}
return work(i+4)||work(i+3)||work(i+2)||work(i+1);
}
public static void main(String[] args) {
work(0);
System.out.println(count);
}
}
解决方案
推荐阅读
- authorize.net - Authorize.Net 捕获定居点
- sql-server - 我的数据库日志没有显示特定的执行命令
- java - 如何将字符串打印到另一个应用程序的对话框?
- dictionary - 使用 ggplot 创建热图
- python - 烧瓶宁静:如何用fields.Dict()记录响应主体?
- java - 写入 CSV 文件时如何跳过第一行
- reactjs - 在 children.map 期间创建的 React 会记忆组件吗?
- javascript - AMCHARTS 4 组数据
- c++ - 如果不满足循环条件,如何执行一段代码?
- kubernetes - Kubernetes Ingress 背后缺少 Zeppelin 笔记本和解释器