Java 中按对角线打印矩阵

13 2025年5月 | 阅读 3 分钟

在本节中,我们将了解如何以对角线顺序打印矩阵。此外,还将创建一个以对角线顺序打印矩阵的 Java 程序

对角线顺序

首先,我们将理解对角线打印顺序。考虑以下具有 4 行 5 列的矩阵。

Print Matrix Diagonally in Java

对角线模式将是

从上面的模式,我们观察到对角线10 11 12 13 会打印两次,因为 10 是第五行的第一个元素,也是第一列的最后一个元素。两者都包含它。

因此,我们可以计算矩阵中对角线数量的公式为m+n-1(其中 m 是行数,n 是列数。-1 表示一条被计算了两次的对角线)。

让我们看看流程。

考虑一个矩阵。在下面的矩阵中,第一个数字表示行号,第二个数字表示列号。

Print Matrix Diagonally in Java

假设我们要打印20 11 02 的对角线元素(其中 20 是第一个元素,11 是第二个元素,02 是对角线的第三个也是最后一个元素)。

Print Matrix Diagonally in Java

我们观察到,每次找到下一个对角线元素时,i 减 1j 加 1。因此,

因此,如果我们知道对角线的第一个元素,我们就可以使用上述逻辑找到直到末尾的所有对角线元素。

让我们在 Java 程序中实现上述逻辑。

PrintMatrixDiagonal.java

输出

Matrix elements in diagonal form are: 
3	 2	7	8	1	9	6	5	4	

同样,我们也可以打印具有任意行数和列数的矩阵。