【问题标题】:how to add up element in multidimensional array?如何将多维数组中的元素相加?
【发布时间】:2014-09-07 19:53:18
【问题描述】:

我觉得答案很简单,但我就是不知道它是什么。我有一个多维数组,例如:

    int [][] number = 
    {{ 10, 15, 11, 13, 72, 87, 266},
        { 50, 65, 80, 94, 12, 134, 248}, 
        { 1, 2, 1, 9, 1, 39, 26}, 
        { 13, 20, 76, 4, 8, 72, 28}, 
        { 2, 1, 29, 2, 12, 907, 92}, 
        { 16, 4, 308, 7, 127, 1, 52}
    };

我正在尝试将每个数组索引中的所有整数相加并在最后显示,所以我想到的是这个

int total=0;
    for (int k=0;k<6;k++){
    for (int i=0;i<7;i++){

    total=number[k][i]+total;}}
    System.out.println(total);

我注意到它会将整个数组中的所有数字相加。但是如何在每个索引的末尾停止它?

【问题讨论】:

    标签: java arrays loops multidimensional-array sum


    【解决方案1】:

    你的问题不清楚。但据我了解,你必须这样做

    for (int k=0;k<6;k++){
       int total=0;
       for (int i=0;i<7;i++){
          total=number[k][i]+total;}
       System.out.println(total);}
    

    它将打印所有行的总和

    【讨论】:

      【解决方案2】:

      循环不能是这样的:

      for (int k = 0; k < 6; k++) {
        int total = 0;
        for (int i = 0; i < 7; i++) {
          total += number[k][i];
        }
        System.out.println(total);
      }
      

      假设我明白你的意思,在每个索引的末尾停止

      如果您将循环参数化以适合每个维度长度,则更好:

      for (int k = 0; k < number.length; k++) {
        int total = 0;
        for (int i = 0; i < number[k].length; i++) {
          total += number[k][i];
        }
        System.out.println(total);
      }
      

      【讨论】:

      • 是的,我就是这个意思,抱歉没有正确解释自己
      • 所以既然我做对了,我想答案可以解决你的问题,所以你可以接受它,甚至支持它:)
      猜你喜欢
      • 2021-12-10
      • 2021-10-04
      • 2017-04-25
      • 2023-02-25
      • 2019-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-24
      相关资源
      最近更新 更多