プログラムのメソッドの1つに問題があります。このメソッドは、2つの配列リストを取得し、多項式のように2つの間の乗算を実行するように設計されています。
たとえば、私が言うlist1={3,2,1}
としたらlist2={5,6,7}
; の戻り値を取得しようとしています15,28,38,20,7
。しかし、私が得ることができるのは、次のようなエラーメッセージだけです。
スレッド「main」の例外java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
。
私は以下の方法を提供しました:
private static ArrayList<Integer> multiply(ArrayList<Integer> list1,ArrayList<Integer> list2) {
ArrayList<Integer> array =new ArrayList<Integer>(list1.size()+list2.size());
for (int i=0;i<array.size();i++)
array.add(i, 0);
for (int i = 0; i < list1.size(); i++)
for (int j = 0; j < list2.size(); j++)
array.set(i+j, ((list1.get(i) * list2.get(j))+array.get(i+j)));
return array;
}
この問題を解決するための助けをいただければ幸いです。