方法头如下:
public static double[][] multiplyMatrix(double[][] a, double[][] b)
为了使矩阵a能够和矩阵b相乘,矩阵a的列数必须与矩阵b的行数相同,并且两个矩阵的元素要具有相同或兼容的数据类型。假设矩阵c是相乘的结果,而a的列数是n,那么每个元素c[ij]=a[i1]*b[1j]+······+a[in]*b[nj]。
编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积。
import java.util.Scanner;
public class HomeWork6{
public static double[][] multiplyMatrix(double[][] a, double[][] b){
double[][] c = new double[3][3];
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
c[i][j]=a[i][0]*b[0][j]+a[i][1]*b[1][j]+a[i][2]*b[2][j];
return c;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double[][] matrix1 = new double[3][3];
double[][] matrix2 = new double[3][3];
double[][] matrix3 = new double[3][3];
System.out.print("Enter matrix1: ");
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
matrix1[i][j] = input.nextDouble();
System.out.print("Enter matrix2: ");
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
matrix2[i][j] = input.nextDouble();
System.out.println("The multiplication of the matrices is");
matrix3 = multiplyMatrix(matrix1,matrix2);
System.out.println(matrix1[0][0]+" "+matrix1[0][1]+" "+matrix1[0][2]+" "+matrix2[0][0]+" "+matrix2[0][1]+" "+matrix2[0][2]+" "+matrix3[0][0]+" "+matrix3[0][1]+" "+matrix3[0][2]);
System.out.println(matrix1[1][0]+" "+matrix1[1][1]+" "+matrix1[1][2]+" "+matrix2[1][0]+" "+matrix2[1][1]+" "+matrix2[1][2]+" "+matrix3[1][0]+" "+matrix3[1][1]+" "+matrix3[1][2]);
System.out.println(matrix1[2][0]+" "+matrix1[2][1]+" "+matrix1[2][2]+" "+matrix2[2][0]+" "+matrix2[2][1]+" "+matrix2[2][2]+" "+matrix3[2][0]+" "+matrix3[2][1]+" "+matrix3[2][2]);
}
}
运行结果: