簡體   English   中英

代數:添加兩個矩陣

[英]Algebra: add two matrices

好吧,我正在嘗試添加兩個矩陣,但是我的數學是錯誤的,我認為我對如何正確設置沒有想法。 我無法解決這個問題,這讓我感到非常愚蠢,但是我的頭很痛,而且我無所適從

import java.util.Scanner;
public class AddMatrices
{
   public static void main(String[] args)
   {
      Scanner input = new Scanner(System.in);

      int N = 3;

      System.out.print("Enter matrix1: ");
      double[][] matrix1 = new double[3][3];
      for (int i = 0; i < matrix1.length; i++) {
         for (int j = 0; j < matrix1[i].length; j++) {
            matrix1[i][j] = input.nextDouble();
         }
      }

      System.out.print("Enter matrix2: ");
      double[][] matrix2 = new double[3][3];
      for (int i = 0; i < matrix1.length; i++) {
         for (int j = 0; j < matrix1[i].length; j++) {
            matrix2[i][j] = input.nextDouble();
         }
      }

      double[][] resultMatrix = addMatrix(matrix1, matrix2);
      System.out.println("The addition of the matrices is ");
      printResult(matrix1, matrix2, resultMatrix, '+');
   }

   public static double[][] addMatrix(double[][] m1, double[][] m2)
   {
      double[][] result = new double[m1.length][m1[0].length];
      for (int i = 0; i < result.length; i++) {
         for (int j = 0; j < result[0].length; j++)
            m1[i][j] += m2[i][j];
      }
      return result;
   }

   public static void printResult(double[][] m1, double[][] m2, double[][] m3, char op)
   {
      for (int i = 0; i < m1.length; i++) {
         for (int j = 0; j < m1[0].length; j++) {
            System.out.print(" " + m1[i][j]);
         }
         if (i == m1.length / 2)
            System.out.print(" " + op + " ");
         else {
            System.out.print(" ");
         }
         for (int j = 0; j < 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 < m3[0].length; j++) {
            System.out.print(" " + m3[i][j]);
         }
         System.out.println();
      }
   }
}

代替:

m1[i][j] += m2[i][j];

做:

result[i][j] = m1[i][j] + m2[i][j];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM