题目
题目描述与运行示例
**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法:
public static double[][] multiplyMatrix(double[][] a, double[][] b)
编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积
两个矩阵(矩阵a矩阵b)能够相乘的条件:
- a的列数和b的行数相同
- a和b的类型相同
a*b若为c,a的列数为n则:
c[i][j] = a[i][1] * b[1][j] + a[i][2] * b[2][j]+……+a[i][n]*b[n][j]
如c[3][3] = a[3][1] * b[1][3] + a[3][2] * b[2][3] + a[3][3] * b[3][3]
运行示例:
Enter matrix1: 1 2 3 4 5 6 7 8 9
Enter matrix2: 0 2 4 1 4.5 2.2 1.1 4.3 5.2
The multipication of the matrices is
1.0 2.0 3.0 0.0 2.0 4.0 5.3 23.9 24.0
4.0 5.0 6.0 * 1.0 4.5 2.2 = 11.6 56.3 58.2
7.0 8.0 9.0 1.1 4.3 5.2 17.9 88.7 92.4
破题
- 主方法:新建三个数组a、b、c,长度均为3*3
- 主方法:从控制台获取用户输入,使用循环读入数组a的元素
- 主方法:从控制台获取用户输入,使用循环读入数组b的元素
- 主方法:调用方法multiplyMatrix,使用c对象接收返回值
- 主方法:输出The multipication……句
- 主方法:调用自定义的输出方法,传入a、b、c三个数组
- multiplyMatrix方法:声明一个数组c,长度为3*3
- multiplyMatrix方法:使用嵌套循环计算a*b,用c接收(c[i][j] = a[i][1] * b[1][j] + a[i][2] * b[2][j]+……+a[i][n]*b[n][j])
- multiplyMatrix方法:返回数组c
- 自定义输出方法:三层循环,最外层行第二层多个同层次循环
代码
import java.util.Scanner;
public class Test8_6 {
public static void main(String[] args) {
//1. 主方法:新建三个数组a、b、c,长度均为3*3
double[][