方法头如下:
public static double[][] addMatrix(double[][] a, double[][] b)
以下是Java的源代码实现
import java.util.Scanner;
public class _016_矩阵相加 {
public static void main(String[] args) {
double[][] matrix1= new double[4][4];
double[][] matrix2= new double[4][4];
System.out.print("Enter matrix1:");
setMartix(matrix1);
System.out.print("Enter matrix2:");
setMartix(matrix2);
showMartic(addMartix(matrix1,matrix2));
}
public static double[][] addMartix(double[][] a, double[][] b){
double[][] Totalmatrix= new double[4][4];
for(int i =0; i <a.length-1;i++){
for(int j =0; j < a[0].length-1;j++){
Totalmatrix[i][j] = a[i][j]+b[i][j];
}
}
return Totalmatrix;
}
public static void setMartix(double[][] martix){
Scanner input = new Scanner(System.in);
for(int i =0; i < martix.length-1; i++){
for(int j =0; j< martix[0].length-1; j++){
martix[i][j] = input.nextDouble();
}
}
}
public static void showMartic(double[][] a){
for (int i =0; i< a.length-1; i++){
for(int j =0; j < a[0].length-1;j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
}
下面是对上面问题的分析:
矩阵相加其实就是数组对应位置相加。
而矩阵的相乘是将一个矩阵的行元素与另一个矩阵列元素相乘作为一个元素。
数组问题的变化十分多。例如旋转矩阵,对角线路线问题,无论它如何变都希望你能够画图,将点给绘制出来,用宏观的方法去进行整体的框架架构。之后再考虑细节。
上面的代码其实需要你先去理解每一个块都做了哪些东西,然后才是尝试写代码。
|