2012-01-12 6 views
3

私は(oneArray)の一次元配列を作成しようとしている1 間番号が充填されている2次元の9×9アレイ(twoArray)を有することtwoArrayの数値の出現を私に提供します。 01Array [0]の値は '3'、数字の '15'は1回、oneArray [14]は '1'にな​​ります。 'など 私は以下のコードを書いていますが、' ArrayIndexOutOfBoundsException 'が表示されます別のアレイベースの配列内の値をインクリメント

これを達成するために自分のコードが正しいかどうかわかりません。どんな指導も高く評価されます。私は答えを探していない、ちょうどいくつかのアドバイスので、私はそれを自分で行うことができます。

int[] oneArray= new int[17]; 
for (int i= 0; i< twoArray.length; i++) 
{ 
    for (int j= 0; j< twoArray[j].length; j++) **// exception occurs here** 
    { 
     int num = 0; 
     num = twoArray[i][j] - 1; 
     oneArray[num] += 1; 
    } 
} 

答えて

5

あなたがタイプミスがあります。条件がj< twoArray[i].length、ないj< twoArray[j].lengthでなければなりません。プログラムの残りの部分は動作するはずですが、あなたは本当に小さな物事のカップルを変更することを検討可能性があります

  • は、その計算とnumの初期化を組み合わせることを検討し
  • += 1
+0

ありがとうございます。どのように私はそれを逃したのか分からない! –

4

の代わりに++の使用を検討してくださいあなたが必要です

for (int j= 0; j< twoArray[i].length; j++) 
          ^--i here, and not j 
関連する問題