【问题标题】:how to add all numbers from a row in a two dimensional array javajava - 如何将二维数组中的一行中的所有数字相加
【发布时间】:2018-10-27 12:12:33
【问题描述】:

我在 Eclipse IDE 中编写 Java,我有这个 2D 数组:

public static void main(String[] args) {
int[][] fravaer18S = {
{ 2, 0, 0, 0, 3, 1, 0, 2, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 2, 0, 0, 0, 3, 1, 0, 2, 0, 0, 0, 0 },
{ 1, 2, 1, 2, 1, 2, 0, 2, 0, 0, 4, 0 },
{ 5, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0 }};

在另一个类中,我应该编写代码,以便一个人可以给出一个列号,然后将该列中的所有数字相加。

所以 f.ex.一个人给出第 3 行,代码返回 15。

给出了这段代码:

 public int samletFravaer(int[][] fravaer, int elevNr) {
    // TODO
    return -1;

如何编码?我需要在 main 中写什么?

【问题讨论】:

  • 家庭作业?你知道Java编程的基础知识吗?循环、条件、数组……?
  • 为什么代码会返回 3。矩阵第 3 列上的数字相加是 1 或 2,具体取决于您开始索引的数字。
  • 不是列号。它的行号。

标签: java eclipse multidimensional-array addition


【解决方案1】:

自行添加边界条件或异常处理。

public int samletFravaer(int[][] fravaer, int elevNr) {
    int sum = 0;
    for (int i = 0; i < fravaer[elevNr].length; i++) {
      sum += fravaer[elevNr][i];
    }
    return sum;
  }

【讨论】:

    【解决方案2】:

    也可以使用 foreach 循环来完成

    public static int samletFravaer(int[][] fravaer, int elevNr){
        int ri = 0;
        for(int i: fravaer[elevNr]){
            ri += i;
        }
        return ri;
    }
    

    【讨论】:

      猜你喜欢
      • 2017-04-25
      • 1970-01-01
      • 2023-02-25
      • 1970-01-01
      • 2019-03-07
      • 2012-04-13
      • 1970-01-01
      • 2018-03-28
      • 2016-10-13
      相关资源
      最近更新 更多