Java-如何在2d数组中添加行的总和

时间:2016-03-10 00:48:31

标签: java arrays 2d

我的问题是在2d数组中添加每一行的总和,并将这些值放在一个新的1d数组中。

这是我的代码

public static int[] sumRow(int[][] N){
        int[] rowSum = new int[N.length];
        for(int i = 0; i<N.length;i++){
            for(int j = 0; j<N[i].length; j++){
                rowSum[i] = N[i][j] + N[i+1][j+1];
            }
        }

        return rowSum;
    }

但它不起作用,请帮助。

2 个答案:

答案 0 :(得分:1)

public static int[] sumRow(int[][] N){
        int[] rowSum = new int[N.length];
        for(int i = 0; i<N.length;i++){
              rowSum[i] = 0;  //<= initialize value
            for(int j = 0; j<N[i].length; j++){
                rowSum[i] += N[i][j];    //<= sum of row
            }
        }

        return rowSum;
    }

你已经写了大部分代码,但是你需要添加每一行,你需要添加N [0] [1],.... N [0] [N [0] .length - 1]在第0行。现在只需插入i和j值并在纸上书写就可以清楚了。

答案 1 :(得分:0)

试试这个。

public static int[] sumRow(int[][] N) {
    return Stream.of(N)
        .mapToInt(a -> IntStream.of(a).sum())
        .toArray();
}