JAVA——編寫程式完成矩陣的乘法運算
阿新 • • 發佈:2020-10-25
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.在主函式中建立矩陣,並且輸入兩個矩陣的值
importjava.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.實驗結果