2014-09-24 48 views
0

*作業找到一個鋸齒陣列的總和

我試圖在數組中添加值。用我在下面寫的總和方法,該程序只適用於沒有參差不齊的數組。如果我測試鋸齒陣列,我得到一個IndexOutOfBoundsException。如果數組鋸齒,嘗試使這種方法起作用時,下一步應該採取什麼措施?

int sum() { 
    int sum = 0; 
    for (int i = 0; i < array.length; i++) { 
     for (int j = 0; j < array[i].length; j++) { 
      sum += array[j][i]; 
     } 
    } 
return sum; 
} 
+3

你測試'數組[我] .length',但你訪問'陣列[j]' – njzk2 2014-09-24 22:47:30

回答

2

你的方法是接近的,但它有一個小蟲子 - 這

sum += array[j][i]; 

應該

sum += array[i][j]; 

請注意,你的內循環迭代array[i]

+0

謝謝,幫助! – Jerry 2014-09-24 23:13:05

1

反轉指標:

sum += array[i][j]; 
1

你混合索引。首先循環遍歷行(i),然後遍歷列(j),但是當訪問數組元素時,對列使用j,對列使用i

它應該是:

sum += array[i][j]; 
1

變化

sum += array[j][i];

sum += array[i][j];