2012-01-12 5 views
3

2 차원 9 x 9 배열 (twoArray)은 1 & 17 사이의 숫자로 채워져 있습니다.
1 차원 배열 (oneArray)을 만들려고합니다. twoArray에서 숫자의 발생을 알려줄 것입니다.다른 배열을 기반으로 배열의 값을 증가 시키려면

즉 twoArray에서 숫자 '1'이 '3'으로 표시되면 oneArray [0]의 값은 '3'이고 '15'의 숫자는 한 번, 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 
관련 문제