我正在为学校做这个实验室任务,我想知道是否有人可以给我一些建议。我的导师希望我们从数组列表中添加不同的数字对象并显示结果。他希望我们以非循环递归格式进行加法。我以前只用整数做过类似的问题,但我似乎无法得到这个解决方案,因为这次有不止一种原始类型。这是我到目前为止的代码:
主要的:
import java.math.BigInteger;
import java.util.ArrayList;
public class TestSummation {
public static void main(String[] args) {
ArrayList<Number> aList = new ArrayList<Number>();
aList.add(new Integer(4));
aList.add(new Double(3.423));
aList.add(new Float(99.032));
aList.add(new BigInteger("32432"));
double result = Summation.sum(aList);
System.out.println(result);
}
}
包含递归方法的类:
import java.util.ArrayList;
public class Summation {
public static double sum(ArrayList<Number> aList) {
if (aList.size() < 1) {
return 0;
} else {
return sum(aList);
}
}
}
现在这段代码抛出了 StackOverflowException,我想知道是否有人有可以帮助我的建议。我当然知道我需要添加更多内容,但我觉得我在当前代码部分的正确轨道上。我现在只是遇到了一个糟糕的路障。提前感谢您的任何建议!