创建矩阵后。如何在columnSum方法中单独对列进行求和,并返回带有这些求和的另一个数组?
public class ColumnSum {
public static void main(String []args){
int [][]matrix = { {4, 5, 9, 1, 6},{5, 6, 1, 2, 0}, {6, 8, 4, 4, 2} };
int [] vector = columnSum(matrix);
for (int i=0; i<vector.length; i++){
System.out.println(vector[i]+ " ");
}
System.out.println();
}
public static int[] columnSum(int a [][]){
for(int i=0; i<a.length; i++){
for(int p=0; p< a[i].length; p++) {
}
}
}
}
我一直在尝试创建一个数组,但我不确定如何添加列并将它们存储到一个数组中。
答案 0 :(得分:0)
试试这个:
public static int[] columnSum(int a [][]){
int rows = a.length;
int cols = a[0].length;
int[] result = new int[cols];
for(int p=0; p < cols; p++){
int tmp = 0;
for(int i=0; i<rows; i++)
tmp += a[i][p];
result[p] = tmp;
}
return result;
}
答案 1 :(得分:0)
您需要创建一个列长度的向量,然后通过逐列遍历来总结。
public static int[] columnSum(int a [][]){
int ln = a[0].length;
int[] result = new int[ln];
for(int i=0; i<ln; i++){
int tmp = 0;
for(int p=0; p< a.length; p++) {
tmp += a[p][i];
}
result[i] = tmp;
}
return result;
}
答案 2 :(得分:0)
我猜这是某种功课,所以这里有一些伪代码:
int[] result = new int[no. columns]
for (i = 1 to number of columns) {
int sum = 0;
for (j = 1 to number of rows) {
sum += data[column, row]
}
result[i] = sum
}