2017-11-13 10 views
-2

私は、用語の配列を持っています(用語は係数と次数を持つオブジェクトを意味します、例えば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は私が出ていることを私に言っているのために定義されていないので、私は今それを見ることができます境界エラー。

+2

コードを記述したり、投稿を編集したり、実際のコードを含めたりしないでください。 –

+0

元の配列の度数は常に降順で表示されますか? – Sweeper

+0

@ Swiperはい、私は元の配列をソートし、度の降順になるようにしました。 –

答えて

1

アレイは固定サイズです。より大きな配列を作成したい場合は、あらかじめサイズを知り、それに応じて定義する必要があります。また、同じ反復変数を使用して両方の配列を通過しているようです。

は、私はあなたがこのような何かをやっていると仮定:「アレイ」は「NEWARRAY」よりも小さいため

for(i=0;i<newArray.length;i++){ 
newArray[i] = array[i]; //size of newArray is bigger than array 
} 

は、その後、あなたが常に境界例外のうち、配列のインデックスを取得し、あなたが範囲外に行くとき、私> = array.length。

コードロジックを修正する必要があります。

+0

オリジナルの投稿を更新して実際のコードを表示しました。私は新しい配列のサイズを知っています、それは私の元の配列+ 1(この+ 1で私のコードで表される)の中で最高の用語の程度になります。私はまだ問題を抱えています。 –

+0

問題は次のコード行のようです: array [c] .getDegree()== newArray.length-1-c "c"は反復変数で、newArray.lengthは"array"のサイズはまだ上記のコード行で、配列[c]を使用しています。配列インデックスはif条件の範囲外です。それはちょうど私が "if"の条件の中で私の元の答えで言及したものを正確にやっているようです。 – redLine

+0

更新:あなたのコメントを何度も読んで、最後に何かをクリックしました。私はforループを変更し、私のコードのこの部分は今働いています!私は別の質問がある。あなたがそれを読んでも大丈夫なら、私のコードをコピーしてここに貼り付けるか、新しい質問を作成したいですか?ありがとう –

関連する問題