私は、用語の配列を持っています(用語は係数と次数を持つオブジェクトを意味します、例えば1.0x^6で表されます)。私が今持っている配列は、3つの条件が含まれます。配列をより大きな配列に配置する
[1.0x^6, 4.0x^5, 10.0x^0].
を私の目標は、これらの用語ではなく、私の配列で表現されていない0係数の観点で大きな配列を作成することです。それはおそらくので、ここでは、あまりにも明確ではありませんでした私は私の新しい配列が見えるようにしたいものを基本的には次のとおりです。
[1.0x^6, 4.0x^5, 0.0x^4, 0.0x^3, 0.0x^2, 0.0x^1, 10.0x^0].
現在、私は私の元の配列を反復処理しています、そして程度は新しいarray.length - 1
に等しい場合、私は設定していますnewArray[i] = array[i]
、それが合理的な場合。たとえば、最初の期間はi = 0
、度は6
であるため、6 = newArray.length - 1
(6)の場合はnewArray[i] = array[i]
となります。
しかし、問題は配列がnewArray
よりも小さいため、範囲外のエラーが発生しています。どのようにこれを修正するための任意のアイデア?長いポストに申し訳ありません、ありがとう!
編集:これは私の実際のコードです。説明が不明な場合は申し訳ありません。
上記では、アレイは降順でソートされています。私は今、新しい配列に古い用語を含むようにしたいですが、私の用語セットで使われていないすべてのiについても0x^iにします。
Term[] newArray = new Term[this.degree()+1];
for (int c = 0; c < newArray.length; c++) {
if (array[c].getDegree()==newArray.length-1-c) {
newArray[c] = array[c];
}
else {
newArray[c] = new Term(0, newArray.length-1-c);
}
}
あり問題は、上記の私のコードであり、そしてその中でループのために、配列の[c]任意のC> 2. Eclipseは私が出ていることを私に言っているのために定義されていないので、私は今それを見ることができます境界エラー。
コードを記述したり、投稿を編集したり、実際のコードを含めたりしないでください。 –
元の配列の度数は常に降順で表示されますか? – Sweeper
@ Swiperはい、私は元の配列をソートし、度の降順になるようにしました。 –