第七天 : 矩阵元素相加
1.矩阵的赋值
2.二重循环
package basic;import java.util.Arrays;/** * This is the seven code. Names and comments should follow my style strictly. * * @author 凤fff * */public class MatrixAddition {/** * The entrance of the program. * * @param args * Not used now. */public static void main(String args[]) {matrixElementSumTest();matrixAdditionTest();} // Of main/** * Sum the elements of a matrix. * * @param paraMatrix * The given matrix. * @return The sum of all its elements. */public static int matrixElementSum(int[][] paraMatrix) {int resultSum = 0;for (int i = 0; i < paraMatrix.length; i++) {for (int j = 0; j < paraMatrix[0].length; j++) {resultSum += paraMatrix[i][j];} // Of for j} // Of for ireturn resultSum;} // Of matrixElementSum/** * Unit test for respective method. */public static void matrixElementSumTest() {int[][] tempMatrix = new int[3][4];for (int i = 0; i < tempMatrix.length; i++) {for (int j = 0; j < tempMatrix[i].length; j++) {tempMatrix[i][j] = i * 10 + j;} // Of for j} // Of for iSystem.out.println("The matrix is : " + Arrays.deepToString(tempMatrix));System.out.println("The matrix element sum is : " + matrixElementSum(tempMatrix) + "");} // Of// matrixElementSumTestpublic 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]; } // Of for j } // Of for i return resultMatrix; } // Of matrixAddtionpublic static void matrixAdditionTest() {int[][] tempMatrix = new int [3][4];for (int i = 0; i < tempMatrix.length; i++) {for (int j = 0; j < tempMatrix[0].length; j++) {tempMatrix[i][j] = i * 10 + j;}// Of for j} // Of for iSystem.out.println("The matrix is : " + Arrays.deepToString(tempMatrix));int[][] tempNewMatrix = matrixAddition(tempMatrix, tempMatrix);System.out.println("The matrix is : " + Arrays.deepToString(tempNewMatrix));} // Of matrixAddition} // Of class MatrixAddition
运行结果
需要注意的是在二重循环时由于是矩阵所以内循环的次数相同故取 j < tempMatrix[0].length
如果是二维数组的运算则需要将 0 改为 外循环中的变量(i)