私は学校のこの研究室の課題に取り組んでいますが、誰かアドバイスをもらえないかと思っていました. 私のインストラクターは、配列リストからさまざまな数値オブジェクトを追加し、結果を表示することを望んでいます。彼は、非ループ再帰形式で加算を行うことを望んでいます。以前に整数のみでこのような同様の問題を行ったことがありますが、今回はプリミティブ型が複数あるため、この解決策が得られないようです。これが私がこれまでに持っているコードです:
主要:
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 をスローしており、誰かが私に役立つアドバイスを持っているかどうか疑問に思っていました. さらに追加する必要があることは確かにわかっていますが、このコードの現在のセクションで正しい軌道に乗っていると感じています。私はちょうど今、悪い障害にぶつかっています。アドバイスをよろしくお願いします!