title: Java Matrices Arrays
body: <p>This program adds two 3x3 matrices. It compiles and runs, but the output, instead of being:</p>
  
  <pre><code>1.0  2.0  3.0       0.0  2.0  4.0       1.0  4.0  7.0
  4.0  5.0  6.0   +   1.0  4.5  2.2   =   5.0  9.5  8.2
  7.0  8.0  9.0       1.1  4.3  5.2       8.1  12.3 14.2
  </code></pre>
  
  <p>It produces: </p>
  
  <pre><code>1.0  2.0  3.0       0.0  2.0  4.0       0.0  0.0  0.0
  4.0  5.0  6.0   +   1.0  4.5  2.2   =   0.0  0.0  0.0
  7.0  8.0  9.0       1.1  4.3  5.2       0.0  0.0  0.0
  </code></pre>
  
  <p>I'm not sure why the output displays as all zeros? The math in the program 'seems' right to me... Is there something I'm missing here?</p>
  
  <pre><code>import java.util.Scanner;
  
  public class AddMatrices{
  
  public static void main(String[] args){
  
      Scanner input = new Scanner(System.in);
  
      int N = 3;
  
      //get the users input and store it in the two arrays
      System.out.println("\nEnter matrix1: \n");
  
      //declare 2 arrays with the appropriate number of rows and columns in 
      //them to store the numbers in each matrix.
      //this is the first one.
      double[][] matrix1 = new double[N][N];
  
      for (int i = 0; i &lt; matrix1.length; i++) {
          for (int j = 0; j &lt; matrix1[i].length; j++) {
              matrix1[i][j] = input.nextDouble();
          }
      }
  
      //get the users input and store it in the two arrays
      System.out.println("\nEnter matrix2: \n");
  
      //declare 2 arrays with the appropriate number of rows and columns in 
      //them to store the numbers in each matrix.
      //this is the second one.
      double[][] matrix2 = new double[3][3];
  
      for (int i = 0; i &lt; matrix1.length; i++) {
          for (int j = 0; j &lt; matrix1[i].length; j++) {
              matrix2[i][j] = input.nextDouble();
          }
      }
  
  
      //call the addMatrix method and pass it the two arrays
      double[][] resultingMatrix = addMatrix(matrix1, matrix2);
      System.out.println("The addition of the matrices is ");
  
  
  
  }//end of main method
  
  
  //write the addMatrix method to add the two matrices and display the result
  
  public static double[][] addMatrix(double[][] m1, double[][] m2){
  
      double[][] result = new double[m1.length][m1[0].length];
  
      for (int i = 0; i &lt; result.length; i++) {
          for (int j = 0; j &lt; result[0].length; j++){
              m1[i][j] += m2[i][j];
          }
      }
  
      for (int i = 0; i &lt; m1.length; i++) {
          char plus = '+';
          for (int j = 0; j &lt; m1[0].length; j++) {
              System.out.print("  " + m1[i][j]);
          }
  
          if (i == m1.length / 2)
              System.out.print("  " + plus + "  ");
          else {
              System.out.print("  ");
          }
  
          for (int j = 0; j &lt; m2[0].length; j++) {
              System.out.print("  " + m2[i][j]);
          }
  
          if (i == m1.length / 2)
              System.out.print("  =  ");
          else {
              System.out.print("  ");
          }
  
          for (int j = 0; j &lt; result[0].length; j++) {
              System.out.print("  " + result[i][j]);
          }
          System.out.println();
      }
  return result;
  }//end of add matrices
  
  }//end of class
  </code></pre>