我有一個程序,我正在嘗試使用遞歸返回數組中所有整數的總和的類。這是我的計劃至今:遞歸求和一個數組中的整數
public class SumOfArray {
private int[] a;
private int n;
private int result;
public int sumOfArray(int[] a) {
this.a = a;
n = a.length;
if (n == 0) // base case
result = 0;
else
result = a[n] + sumOfArray(a[n-1]);
return result;
} // End SumOfArray method
} // End SumOfArray Class
但我發現了三個誤差這是所有相關的,我相信,但我想不通爲什麼它是找到一個類型爲null:
SumOfArray.java:25: sumOfArray(int[]) in SumOfArray cannot be applied to (int)
result = a[n] + sumOfArray(a[n-1]);
^
SumOfArray.java:25: operator + cannot be applied to int,sumOfArray
result = a[n] + sumOfArray(a[n-1]);
^
SumOfArray.java:25: incompatible types
found : <nulltype>
required: int
result = a[n] + sumOfArray(a[n-1]);
^
3 errors
使用遞歸不僅更加複雜,但在這種情況下要慢得多。我認爲這只是一個練習。 –