【发布时间】:2019-08-21 23:57:22
【问题描述】:
我需要计算 1.) for 循环方法和 2.) 递归方法中连续整数的总和。这两种方法都是静态 int 方法,它们接受两个 int 参数(一个是起始 int,另一个是后面的 int 数量)。例如,如果我要输入 (3, 3),输出应该是 18,因为 3 是起始数字,后面的 3 个整数是 4、5 和 6。当你把它们加起来时 (3+4+5 +6) 你得到 18。这两种方法都在做同样的数学运算,除了一个是用 for 循环做的,另一个是递归做的。
我在这里遇到的问题是我的 for 循环方法没有正确总结。当我输入 (3, 3) 时,输出为 31。此外,我不太确定如何编写递归方法,因为我的 for 循环方法不起作用。我可以得到一些帮助吗?
此外,没有数组或数组列表。这段代码应该能够在不使用它们的情况下工作。
public static int consecSum(int startingNum, int numInts){
for (int i = numInts; i>0; i--){
startingNum += (startingNum + 1);
}
return startingNum;
}
public static int recursSum(int startingNum, int numInts) {
if (startingNum == 0) {
return 0;
} else if (numInts == 0) {
return startingNum;
}
return startingNum + recursSum(startingNum + numInts, numInts - 1);
}
3 \\startingNum (theres more code not shown where I use a scanner object to input these)
3 \\numInts
31 \\for loop output
\\The recursive method just prints an error message
【问题讨论】:
标签: java loops for-loop recursion int