添加数组元素(行和列的总和)

时间:2014-01-30 03:50:17

标签: java arrays sum row

我正在寻找一种方法来添加数组行的元素并获得总和。我也必须得到列的总和。 该数组看起来像这样:

     {{45.24, 54.67, 32.55, 25.61},
      {65.29, 49.75, 32.08, 26.11},
      {25.24, 54.33, 34.55, 28.16}};

例如,我会添加45.24,65.29和25.24来获取该部分列的总和。然后我还要添加其他3列。 行也一样。 我不断收到有关变量类型的错误。有没有办法做到这一点?感谢。

3 个答案:

答案 0 :(得分:0)

逻辑将是--->

for(i = 0; i < columns; i++)
{
 for(j=0; j<rows; j++)
 {
  sum+=arr[j][i];
 }
}

与列相对

答案 1 :(得分:0)

假设您有nxn矩阵。我们的想法是确定模式

行值

i j 0 0 0 1 0 2

列值

i j 0 0 1 0 2 0

ij值的位置相反。

假设我们有一个数组a[][]。逻辑是:

for (int i=0; i<n; i++) {

    int row = 0, col = 0;
    for (int j=0; j<n; j++) {

        row += a[i][j];
        col += a[j][i];
    }
    System.out.println("row" + i + " = " + row);
    System.out.println("col" + i + " = " + col);
}

我假设你想要分别对每行和每列的总和。你可以相应地修改它。

答案 2 :(得分:0)

我认为您应该定义数组将处理的数字类型,如果我使用浮点数,我可以使用类似下面的类来执行您要求的操作类型。您还可以添加一些小数格式。

public class Test {

    public static void main(String[] args) {
        new Test();
    }

    public Test() {
        float myarray[][]=  { 
            {45.24f, 54.67f, 32.55f, 25.61f},
            {65.29f, 49.75f, 32.08f, 26.11f},
            {25.24f, 54.33f, 34.55f, 28.16f}
        };

        float row[] = new float[3];
        float column[] = new float[4];

        for (int i=0; i < 3; i++) {

            float rowvalue = 0f;

            for (int j=0; j < 4; j++) {
                System.out.print(myarray[i][j]+" ");
                rowvalue+=myarray[i][j];
            }
            row[i]=rowvalue;

            System.out.println("");
        }

        System.out.println("");

        for (int i=0; i < 4; i++) {

            float colvalue = 0f;

            for (int j=0; j < 3; j++) {
                System.out.print(myarray[j][i]+" ");
                colvalue+=myarray[j][i];
            }
            column[i]=colvalue;

            System.out.println("");
        }

        System.out.println("Rows answer:");
        for (int i=0; i < 3; i++) {
            System.out.println(row[i]);    
        }
        System.out.println("Columns answer:");
        for (int i=0; i < 4; i++) {
            System.out.println(column[i]);    
        }

    }
}