2017-01-31 8 views
0

私の仕事は、元の2D配列を取得し、各インデックスの重みを計算し、新しい値で新しい配列を作成することです。新しい配列の最終列を出力できません印刷する2D配列の最後の列を取得できません

ありがとうございます!

+1

、あなたのコード内のいくつかのコメントを含めることができればそれは素晴らしいことです。私たちはここにバグを解決し、文書化されていないコードを理解していない。 – akshaynagpal

+0

よく知られている技術を無視することは非常に危険です。 forループの中では、配列全体を循環する場合、常に 'int i = 0; i ChickenFeet

+0

@ChickenFeet非常に健全なアドバイスのようです。私はJavaに慣れていないので、私はちょうどそれを通って作業しようとしていると私はいくつかのものをスキップしたと思う。助けてくれてありがとう! –

答えて

2

あなたのループは次のようになります。

for (int i = 0; i < calcWeight.length; i++) { 
    // note the calcWeight[i], you´ll get the first dimension length 
    // if you leave out the [i] part 
    // This way your inner loop would stop at 4 (rather 5 because <=) 
    // instead of its actuall length, 6 
    for (int j = 0; j < calcWeight[i].length; j++) { 
     ... 
    } 
} 
+1

'IndexOutOfBoundsException'で終わらないちょうど幸運なテスト。 PS:違いは少し離れている;) – AxelH

+0

ありがとう!最終的な列はすべてゼロになります。私はどこでそれに対処すべきですか? –

+0

@jamesrobこれらの 'ifs'は何をすべきか?それはむしろ私に混乱しているように見えます。あなたは 'j + 1'や' i-1'を使うべきではありません。これは配列アクセスのために境界から飛び出します。 – SomeJavaGuy

関連する問題