两个矩阵相加要求:
两个矩阵必须是同型矩阵,假设A矩阵加B矩阵,则:
在一维数组中,a.length 方法的意思就是返回这个数组的长度。
在二位数组中,如果直接调用b.length方法,返回的则是b数组的行数,
如果是b[0].length方法则返回的是0行所代表的长度,也就相当于求了第0行的列数。
二维数组(矩阵)的赋值:
1、静态初始化
int[][] data = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6,7}};
2、动态初始化1
int[][] id=new int[3][4];
获得一个3行4列的矩阵,这是未进行赋值的
3、动态初始化2
String[][] id=new String[4][];
只声明它的行数,先不声明列数,这样也是可以的。
数组的下标都是从0开始的,若找第一个数则其为id[0][0];
若是System.out.println(id[0][]),则输出第一行所有的值
1、代码遍历输出矩阵:
public class sevenday {
public static void main(String args[]) {
int[][] data = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6,7}};//静态赋值
for(int i=0;i<data.length;i++) {
for(int j=0;j<data[i].length;j++) {
System.out.print(data[i][j]+" ");//输出第i行第j个
}
System.out.println();//每行遍历完了就换行
}
}
}
结果如下:
2、实现矩阵中元素之和:
public class sevenday {
public static void main(String args[]) {
int[][] data = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6,7}};
System.out.println("矩阵元素之和为:"+matrixElementSum(data));
}
public static int matrixElementSum(int[][] paraMatrix) {
int Sum = 0;
for (int i = 0; i < paraMatrix.length; i++) {
for (int j = 0; j < paraMatrix[i].length; j++) {
System.out.print(paraMatrix[i][j]+" ");
Sum += paraMatrix[i][j];//实现累加矩阵元素
}
System.out.println();
}
return Sum;
}
}
结果为:
3、实现两个矩阵相加:
C = A+B
public class sevenday {
public static void main(String args[]) {
int[][] A = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6}};
int[][] B = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6}};
int[][] C =new int [][] {};
C = matrixAddition(A,B);//调用矩阵加法函数
System.out.println("[矩阵A的各个元素]");
for(int i = 0; i <A.length ; i++)
{
for(int j = 0; j < A[0].length; j++)
System.out.print(A[i][j] + " \t");
System.out.println();
}
System.out.println("[矩阵B的各个元素]");
for(int i = 0; i <B.length; i++)
{
for(int j = 0; j < B[0].length; j++)
System.out.print(B[i][j] + " \t");
System.out.println();
}
System.out.println("[显示矩阵A和矩阵B相加的结果]");
for (int i = 0; i < A.length; i++) {
for (int j = 0; j < A[0].length; j++) {
System.out.print(C[i][j]+" ");
}
System.out.println();
}
}
public static int[][] matrixAddition(int[][] paraMatrix1, int[][] paraMatrix2) {
int[][] resultMatrix = new int[paraMatrix1.length][paraMatrix1[0].length];
for (int i = 0; i < paraMatrix1.length; i++) {
for (int j = 0; j < paraMatrix1[0].length; j++) {
resultMatrix[i][j] = paraMatrix1[i][j] + paraMatrix2[i][j];
}
}
return resultMatrix;
}
}
结果如下: