de manière récursive la somme des entiers dans un tableau

J'ai un programme que je suis en train de faire pour la classe qui retourne la somme de tous les entiers dans un tableau en utilisant la récursivité. Voici mon programme à ce jour:

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 

Mais je suis de trois erreurs qui sont liées, je crois, mais je ne peux pas comprendre pourquoi c'est de trouver un type de 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
  • En utilisant la récursivité n'est pas seulement plus compliqué, mais beaucoup plus lente dans ce cas. Je suppose que c'est juste un exercice.
InformationsquelleAutor Maggie S. | 2013-11-27