2016-12-03 40 views
0

我想計算二維數組中每列的總和。 到目前爲止,我得到這樣的:在二維數組計算二維數組中列的總和

public static double[] colMean(double[][] array){ 
    double arrayCopy[] = new double[array.length]; 

    for(int i = 0; i < array.length; i++){ 
     double colSum = 0; 
     for(int k = 0; k < array.length ; k++){ 
      colSum = colSum + array[k][i]; 
     }  
     arrayCopy[i] = colSum; 
    } 
    return arrayCopy; 
} 
+0

那麼究竟是什麼問題? – Mureinik

+0

我無法計算與列的行數不完全相同的數組的總和。 – Chris

回答

0
//Create a destination array to store column sums 
//I'm supposing every row has the same number of columns 
for (int i=0; i<array[0].length; i++) { 
    destination_array[i]=0; 
} 

//Traversing the 2D array 
for (int i=0;i<array.length; i++) { 

    //Adding each column value at the column accumulator 
    for (int k=0;k<array[i].length;k++ { 
     destination_array[k]+=array[i][k]; 
    } 
} 

希望它可以幫助

+0

這是我的問題。如果不是每行都有相同的列數? – Chris

+0

然後對於每一行,您都必須檢查這個列數是否存在。你可以在第一個循環中做到這一點,那麼你將有正確的尺寸destination_array – pekechis

+0

我已經修復它,但謝謝:) – Chris

0

你循環如下:

for(int i = 0; i < array.length; i++){ 
     double colSum = 0; 
     for(int k = 0; k < array[i].length ; k++){ 
      colSum = colSum + array[i][k]; 
     } 
+0

但我想讓每一列都不行。 – Chris