1.判断两个矩阵能不能相乘,就是要判断两个一个矩阵的列是否等于另外一个矩阵的行,然后矩阵的乘法就是行乘以列然后再加起来就可以了。建立一个名为TwoClass的类,然后在里面写矩阵的乘法的方法
public class TwoClass { public int[][] Matrix(int A[][],int B[][]){ if(A[0].length!=B.length) { System.out.println("矩阵不像容"); return null; } else { int [][] C=new int[A.length][B[0].length]; for(int i=0;i<A.length;i++) { for(int j=0;j<B[0].length;j++) { for(int t=0;t<A[0].length;t++) { C[i][j]+=A[i][t]*B[t][j]; } } } System.out.println("乘法矩阵为:"); for(int i=0;i<A.length;i++) { for(int j=0;j<B[0].length;j++) { System.out.print(C[i][j]+" "); } System.out.println(); } return C; } } }
2.在主函数中建立矩阵,并且输入两个矩阵的值
import java.util.Scanner; public class twoclassmain { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int [][] c1; System.out.println("请输入第一个矩阵的行:"); int a1=sc.nextInt(); System.out.println("请输入第一个矩阵的列:"); int b1=sc.nextInt(); c1=new int[a1][b1] ; System.out.println("请输入第二个矩阵的行:"); int a2=sc.nextInt(); System.out.println("请输入第二个矩阵的列:"); int b2=sc.nextInt(); int [][] c2=new int[a2][b2]; System.out.println("请输入第一个矩阵的元素:"); for(int i=0;i<a1;i++) { for(int j=0;j<b1;j++) { c1[i][j] =sc.nextInt(); } } System.out.println("请输入第二个矩阵的元素:"); for(int i=0;i<a2;i++) { for(int j=0;j<b2;j++) { c2[i][j]=sc.nextInt(); } } TwoClass c3=new TwoClass(); c3.Matrix(c1, c2); } }
3.实验结果