我正在尝试创建一个递归函数,它返回数字中数字的平均值 . 例如,数字123的平均值是2.我知道如何编写一个对数字求和的函数 .
public static int sum (int n) {
if (n<10)
return n;
return n%10 + sum(n/10);
}
我也知道如何计算数字
public static int numCount(int n) {
if (n<10)
return 1;
return 1 + numCount(n/10);
}
但是我无法弄清楚如何在不使用预先存在的函数的情况下计算平均值 .
4 回答
您可以递归迭代数组,同时保持累积的
sum
和一个显示已经迭代了哪些项的索引:Demo
试试这个:
例如:
recursive(123, 1)
我的意思是,如果我们只是在谈论数字,我们甚至不需要递归函数
那应该给你一个 . 无论数量,整数还是实数均为平均值 .