testmatrixoperation.java

来自「压缩包内是近180多个针对Java初学者编写的简单实例」· Java 代码 · 共 79 行

JAVA
79
字号
//TestMatrix0peration.]ava: 两个矩阵的相加和相乘
public class TestMatrixOperation {
    /** 主方法体 */
    public static void main(String[] args) {
        // 创建两个二维矩阵
         int[][] matrix1 = new int[5][5];
         int[][] matrix2 = new int[5][5];

         // 随机分配值
         for (int i = 0; i < matrix1.length; i++)                                 
         	for (int j = 0; j < matrix1[i].length; j++) {
             	matrix1[i][j] = (int)(Math.random() * 10);
             	matrix2[1][j] = (int)(Math.random() * 10);
         }

      // 两个矩阵相加并输出结果
    int[][] resultMatrix = addMatrix(matrix1, matrix2);
     System.out.println("两个矩阵相加 ");
     printResult(matrix1, matrix2, resultMatrix,  '+');

     // 两个矩阵相乘并输出结果
     resultMatrix = multiplyMatrix(matrix1, matrix2);
     System.out.println("\n两个矩阵相乘");
     printResult(matrix1, matrix2,  resultMatrix,  '*');
 }

   /** 两个矩阵相加的方法 */
 public static int[][] addMatrix(int[][] ml, int[][] m2) {
    int[][] result = new int[ml.length][ml[0].length];
    for (int i = 0; i < result.length; i++)
      for (int j = 0; j < result[0].length; j++)
       result[i][j] = ml[i][j] + m2[i][j];

     return result;
}

  /** 两个矩阵相乘的方法 */
 public static int[][] multiplyMatrix(int[][] m1, int[][] m2)  {
    int[][] result = new int[m1.length][m2[0].length];
     for (int i = 0; i < m1.length; i++)
      for (int j = 0; j < result.length; j++)
        for (int k = 0; k < result[1].length; k++)
          result[i][j] += m1[i][k] * m2[k][j];

      return result;
 }

  /** 输出结果 */
  public static void printResult(
   int[][] m1, int[][] m2, int[][] m3, char op) {
 	 System.out.println("第一个矩阵是 :");
 	 
 	 for(int i=0;i<m1.length;i++){
 		 for(int j=0;j<m1[0].length;j++)
 			 System.out.print("  "+m1[i][j]);
 		 System.out.println("");
 	 }
 	 
 	 System.out.println("第二个矩阵是 :");
 	 
 	 for(int i=0;i<m2.length;i++){
 		 for(int j=0;j<m2[0].length;j++)
 			 System.out.print("  "+m2[i][j]);
 		 System.out.println("");
 	 }
 	 
 	 System.out.println("两个矩阵做 "+ op+"运算.");
 	 
 	
 	 for(int i=0;i<m3.length;i++){
        	for(int j=0;j<m3[0].length;j++)
        		 System.out.print("\t"+m3[i][j]);
      System.out.println("");
        	   
 	 }
 }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?