2D阵列中3x3的总和

时间:2014-04-06 19:26:21

标签: java arrays

在java中编写一个程序,读取两个3乘3矩阵,找出它们的总和并显示结果?

我试过这个但是我得到了运行时错误

Scanner r=new Scanner(System.in);
   int [][]array = null;
    int[][]array2 = null;
  int total=0;
  System.out.println("Enter matrix");
  for(int row=0;row<array.length;row++){
      for(int col=0;col<array[row].length;col++){
             array[row][col]=r.nextInt();

             array[row][col]=r.nextInt()

   System.out.print("   "+total +"  ");

      total=array[row][col]+array2[row][col];
        System.out.println("   ");

2 个答案:

答案 0 :(得分:2)

您没有为数组引用分配任何内存,它们没有引用任何内容(null)... 尝试:

int[][] array = new int[3][3];
int[][] array2 = new int[3][3];

另外,你在代码的第9行缺少一个分号。同样,在同一行中,我认为它应该是array2&amp;不是阵列。

答案 1 :(得分:0)

第一个FOR-Loop演示了如何在数组中输入值。此代码将要求用户同时输入两个数组的值。

第二个FOR-Loop演示了如何对每个数组的值求和。之后,两个阵列都被加在一起。

    //Since you know the the array will be 3x3,
    //declare it!
    int[][] array1 = new int[3][3];
    int[][] array2 = new int[3][3];

    int array1Total = 0;
    int array2Total = 0;
    int endResult;

    for (int x = 0; x < array1.length; x++) {

        for (int y = 0; y < array1[x].length; y++) {

            array1[x][y] = r.nextInt();
            array2[x][y] = r.nextInt();

        }
    }

    for (int x = 0; x < array1.length; x++) {

        for (int y = 0; y < array1[x].length; y++) {

            array1Total += array1[x][y];
            array2Total += array2[x][y];

        }
    }

    endResult = array1Total + array2Total;