【发布时间】:2020-03-11 03:22:58
【问题描述】:
public static int add(int [] arr , int index){
int count=0;
if(arr.length == index)
return count/arr.length;
if(index< arr.length)
count+=arr[index];
return count + add(arr,index+1);
}
所以问题是我想要这段代码添加数组中的所有数字,但这段代码无法正常工作,有人可以帮我解决这个问题吗?
【问题讨论】:
-
欢迎来到 Stackoverflow!你能分享更多关于正在发生的事情吗?您收到错误消息了吗?
-
当您说代码“无法正常工作”时,您是什么意思?您是否收到编译器错误、错误结果或其他问题?请提供一些详细信息,说明您已尝试过什么、您预期会发生什么以及实际发生了什么。这是一个起点。您的第一个参数的名称是什么?这在函数中的什么地方使用?这是另一个起点 - 如果要将数组中的所有元素相加,可能需要使用某种循环。
-
你好,代码没有错误,所以我会先解释所有代码,几分钟前,我试图运行这段代码,但他返回错误的结果,例如我有数组 { 50,50,80},结果是 180,是的,它将所有数字相加,但代码没有将结果除以 arr.length,谢谢之前
-
你确定你已经运行了你发布的代码吗?看看我的出发点。这是另一个 - 您不需要 return return 结果。只需要一次退货。两次返回应该给出编译器错误。另外,你怎么称呼它?如果您将数组的长度作为第二个参数传递,该函数将 return return 0 - 忽略不匹配的变量名称问题(这可能不会是所有元素的总和) .简而言之,请提供一些细节,以便我们为您提供帮助。请记住,我们看不到您的屏幕。
-
所以我期望代码将返回将所有数字相加并除以arr.length,参数是arr(对不起,您必须将数组更改为arr),并且索引始终为0,你知道怎么用for之类的循环来加除,但是我想用递归,不好意思,最后返回应该是return count+ add(arr,index+1)。