gpt4 book ai didi

java - 递归地对数组中的整数求和

转载 作者:行者123 更新时间:2023-12-01 18:45:22 24 4
gpt4 key购买 nike

我正在尝试为类制作一个程序,该程序使用递归返回数组中所有整数的总和。这是迄今为止我的程序:

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

最佳答案

解决方案比看起来更简单,试试这个(假设一个非零长度的数组):

public int sumOfArray(int[] a, int n) {
if (n == 0)
return a[n];
else
return a[n] + sumOfArray(a, n-1);
}

这样调用它:

int[] a = { 1, 2, 3, 4, 5 };
int sum = sumOfArray(a, a.length-1);

关于java - 递归地对数组中的整数求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59851794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com