展开全部
1、矩阵类public class Matrix {
/* 矩阵相乘 */
public static double[][] multiplyMatrix(double[][] a,double[][] b){
if(a[0].length != b.length) {
return null;
}
double[][] c=new double[a.length][b[0].length];
for(int i=0;i
for(int j=0;j
for(int k=0;k
c[i][j] += a[i][k] * b[k][j];
}
}
}
return c;
}
2、测试函数(main函数)public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int m = n = k = 6;
double [][]a=new double[m][n]; //定义一个m*n的矩阵
double [][]b=new double[n][k]; //定义一个n*k的矩阵
System.out.println("输入连续32313133353236313431303231363533e58685e5aeb931333431343738的数构成数组a:");
for(int i=0;i
for(int j=0;j
a[i][j]=1.0;
System.out.println("输入连续的数构成数组b:");
for(int i=0;i
for(int j=0;j
b[i][j]=1.0;
double [][]c=multiplyMatrix(a, b);
System.out.println("Matrix a:");
printMatrix(a); //打印a
System.out.println("Matrix b:");
printMatrix(b); //打印b
System.out.println("Matrix c:");
printMatrix(c); //打印c
input.close();
}
}
3、打印函数(可以放到main函数所在类中)public static void printMatrix(double[][] c) {
if (c!=null) {
for(int i=0;i
for(int j=0;j
System.out.printf("%-8.1f",c[i][j]); //保留1位小数;
}
System.out.println();
}
} else {
System.out.println("无效");
}
System.out.println();
}