Java源代码:
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double[][] matrix1 = new double[3][3];
double[][] matrix2 = new double[3][3];
System.out.println("Enter matrix1:");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++){
matrix1[i][j] = input.nextDouble();
}}
System.out.println("Enter matrix2:");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++){
matrix2[i][j] = input.nextDouble();
}}
double[][] nums = multiplyMatrix(matrix1, matrix2);
System.out.println(matrix1[0][0] + " " + matrix1[0][1] + " " + matrix1[0][2] + " " + matrix1[0][0] + " " + matrix2[0][1] + " "
+ matrix2[0][2] + " " + nums[0][0] + " " + nums[0][1] + " " + nums[0][2]);
System.out.println(matrix1[1][0] + " " + matrix1[1][1] + " " + matrix1[1][2] + " * " + matrix1[1][0] + " " + matrix1[1][1] + " "
+ matrix2[1][2] + " = " + nums[1][0] + " " + nums[1][1] + " " + nums[1][2]);
System.out.println(matrix1[2][0] + " " + matrix1[2][1] + " " + matrix1[2][2] + " " + matrix2[2][0] + " " + matrix2[2][1] + " "
+ matrix2[2][2] + " " + nums[2][0] + " " + nums[2][1] + " " + nums[2][2]);
}
public static double[][] multiplyMatrix(double[][] a, double[][] b) {
double[][] nums = new double[a.length][b[0].length];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < b[0].length; j++) {
for (int k = 0; k < a.length; k++){
nums[i][j] += a[i][k] * b[k][j];
nums[i][j] = Math.round(nums[i][j] * 10) / 10.0; //截取小数点后1位
}}
}
return nums;
}
}