如何在二维数组中打印元素的总和?

时间:2016-10-28 01:28:43

标签: java arrays multidimensional-array

以下是我目前的情况:

    final int[][] myArray = 
        {
              { 1, 2, 5, 4 },
              { 4, 3, 2, 1 },
              { 5, 6, 7, 8 },
              { 8, 7, 6, 5 },
        };

            PrintArray(myArray);
            Analysis(myArray);
}

public static void Analysis(int[][] myArray) 
{

    for (int i = 0; i < myArray.length; i++)
    {
        int sum = sum + myArray[i];
    }
    System.out.println(sum);


}

public static void PrintArray(final int[][] myArray) 
{
    for (int i = 0; i < myArray.length; i++) 
    {
        for (int j = 0; j < myArray[i].length; j++) 
        {
            System.out.print(myArray[i][j] + " ");
        }
        System.out.println();
    }

它说,“运算符+未定义参数类型(int),int []”在具有和的部分。我不确定为什么会这样。

5 个答案:

答案 0 :(得分:1)

我会使用for-each loops,您需要在循环之前声明sum (因此它是可见的)。 Java命名约定建议以小写字母开头(您的方法看起来像一个类)。

public static void Analysis(int[][] myArray) {
    int sum = 0;
    for (int[] arr : myArray) {
        for (int val : arr) {
            sum += val;
        }
    }
    System.out.println(sum);
}

答案 1 :(得分:1)

这是一个二维数组。您希望如何使用一个索引器访问它?

你可以试试这个:

public static void Analysis(int[][] myArray) 
{
    int sum=0; //sum must be initiated BEFORE
    for (int i = 0; i < myArray.length; i++)
    {
        for(int j=0;j<myArray[i].length;j++)
            sum += myArray[i][j];
    }
    System.out.println(sum);
}

答案 2 :(得分:0)

您的数组有两个维度!因此,您需要两个循环迭代这两个维度!

for (int i.... 
   for (int j=0; j<array[i].length ; j++)  
     sum += array [i] [j] ;

你知道:就像你已经写下打印数组的代码一样!访问阵列单元进行打印....或者总结它们之间没有区别!

答案 3 :(得分:0)

你的“myArray”是一个二维的,你需要两个循环才能进行操作,如下所示:

public static void Analysis(int[][] myArray) 

{

for (int i = 0; i < myArray.length; i++)
{
    int sum = sum + myArray[i];
}
System.out.println(sum);

}

如果我没有误会,你的静态int [] [] myArray是在主函数(?) 我建议你final int[][] myArray

答案 4 :(得分:0)

public static void Analysis(int[][] myArray){
   int sum=0;
   for (int i = 0; i < myArray.length; i++){
      for(int j=0; j< myArray[i].length;j++){
          sum += myArray[i][j];
      }
   }
   System.out.println(sum);
}