Java 程序计算矩阵对角线之和
javacampus interviewserver side programmingprogramming
在本文中,我们将了解如何计算矩阵对角线之和。矩阵的元素按行和列排列。主对角线是方阵中从左上角到右下角的对角线。
次对角线是方阵中从左下角到右上角的对角线。
下面是相同的演示 −
假设我们的输入是 −
输入矩阵: 4 5 6 7 1 7 3 4 11 12 13 14 23 24 25 50
期望输出将是 −
主对角线元素总和:74 次对角线元素总和:45
算法
步骤 1 - 开始 步骤 2 - 声明一个整数矩阵,即 input_matrix 步骤 3 - 定义值。 步骤 4 - 使用两个 for 循环遍历矩阵的每个元素,添加对角线元素,使用条件 ‘i’ = ‘j’ 获得主对角线元素之和,使用条件 ‘i’ + ‘j’ = matrix_size – 1 得到次对角线元素之和。 步骤 5 - 显示结果 步骤 5 - 停止
示例 1
在这里,我们将所有操作绑定在‘main’函数下。
public class MatrixDiagonals { static public void main(String[] args) { int[][] input_matrix = { { 4, 5, 6, 7 }, { 1, 7, 3, 4 }, { 11, 12, 13, 14 }, { 23, 24, 25, 50 } }; int matrix_size = 4; System.out.println("矩阵定义为:"); for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) System.out.print(input_matrix[i][j] + " "); System.out.print("\n"); } int principal_diagonal = 0, secondary_diagonal = 0; for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { if (i == j) principal_diagonal += input_matrix[i][j]; if ((i + j) == (matrix_size - 1)) secondary_diagonal += input_matrix[i][j]; } } System.out.println("\n 矩阵主对角线元素之和为: " + principal_diagonal); System.out.println("\n 矩阵次对角线元素之和为: " + secondary_diagonal); } }
输出
矩阵定义为: 4 5 6 7 1 7 3 4 11 12 13 14 23 24 25 50 矩阵主对角线元素之和为:74 矩阵次对角线元素之和为:45
示例 2
在这里,我们将操作封装成展现面向对象编程的函数。
public class MatrixDiagonals { static void diagonals_sum(int[][] input_matrix, int matrix_size) { int principal_diagonal = 0, secondary_diagonal = 0; for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { 如果 (i == j) principal_diagonal += input_matrix[i][j]; 如果 ((i + j) == (matrix_size - 1)) secondary_diagonal += input_matrix[i][j]; } } System.out.println("\n 矩阵主对角线元素之和为: " + principal_diagonal); System.out.println("\n 矩阵次对角线元素之和为: " + secondary_diagonal); } static public void main(String[] args) { int[][] input_matrix = { { 4, 5, 6, 7 }, { 1, 7, 3, 4 }, { 11, 12, 13, 14 }, { 23, 24, 25, 50 } }; int matrix_size = 4; System.out.println("矩阵定义为:"); for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) System.out.print(input_matrix[i][j] + " "); System.out.print("\n"); } diagonals_sum(input_matrix, matrix_size); } }
输出
矩阵定义为: 4 5 6 7 1 7 3 4 11 12 13 14 23 24 25 50 矩阵主对角线元素之和为:74 矩阵次对角线元素之和为:45