public class BadArraySum { public static void main(String[] args) { int[] numbers = {5, 14, 3, -8, 0, 194, 2}; System.out.println("iterative sum : " + arraySumOne(numbers)); // we didn't write a 1-argument method like the client asked! System.out.println("reverse sum : " + arraySumTwo(numbers)); } public static int arraySumOne(int[] arr) { // an iterative approach to summing an array int sum = 0; for (int i = 0; i < arr.length; i++) { sum += arr[i]; } } public static int arraySumTwo(int[] arr, int index) { if (arr.length == index) { return 0; // base case } else { // ... int first = arr[index]; int sum = arraySumTwo(arr, index + 1); return first + sum; } } }