Java 程序显示上三角矩阵
在本文中,我们将了解如何在 Java 中显示给定矩阵的上三角矩阵。矩阵是其元素的行和列排列。具有 m 行和 n 列的矩阵可以称为 m × n 矩阵。并且,术语上三角矩阵指的是所有对角线以下的元素均为 0 的矩阵。
示例场景
Input: matrix = { 2, 1, 4 }, { 1, 2, 3 }, { 3, 6, 2 } Output: upptri_mat = 2 1 4 0 2 3 0 0 2
使用嵌套 for 循环
要显示给定矩阵的上三角矩阵,请使用嵌套 for 循环迭代矩阵的每个元素。然后,使用行 != 列条件将 0 分配给矩阵对角线以下的所有 [i][j] 位置。
示例
在下面的 Java 程序中,我们使用嵌套 for 循环来打印上三角矩阵。
public class UpperTriangle { public static void main(String[] args) { int input_matrix[][] = { { 2, 1, 4 }, { 1, 2, 3 }, { 3, 6, 2 } }; int rows = input_matrix.length; int column = input_matrix[0].length; System.out.println("The matrix is defined as: "); for (int i = 0; i < rows; i++) { for (int j = 0; j < column; j++) { System.out.print(input_matrix[i][j] + " "); } System.out.println(); } if (rows != column) { return; } else { for (int i = 0; i < rows; i++) { for (int j = 0; j < column; j++) { if (i > j) { input_matrix[i][j] = 0; } } } System.out.println("The upper triangular matrix is: "); for (int i = 0; i < rows; i++) { for (int j = 0; j < column; j++) { System.out.print(input_matrix[i][j] + " "); } System.out.println(); } } } }
运行此代码后,您将获得以下结果:
The matrix is defined as: 2 1 4 1 2 3 3 6 2 The upper triangular matrix is: 2 1 4 0 2 3 0 0 2
使用 Java 流
在这种方法中,我们使用嵌套的 IntStream.range() 方法而不是 for 循环 来迭代矩阵的每个元素。对于每个元素,如果其行索引大于其列索引(即对角线以下),则打印“0”。否则,打印元素的值。
示例
在这个 Java 程序中,我们使用 Java 流来显示上三角矩阵。
import java.util.Arrays; import java.util.stream.IntStream; public class UpperTriangle { public static void main(String[] args) { int[][] input_matrix = { { 2, 3, 6 }, { 1, 2, 2 }, { 1, 4, 2 } }; int rows = input_matrix.length; int column = input_matrix[0].length; System.out.println("Given Matrix: "); for (int i = 0; i < rows; i++) { for (int j = 0; j < column; j++) { System.out.print(input_matrix[i][j] + " "); } System.out.println(); } System.out.println("The upper triangular matrix is: "); IntStream.range(0, input_matrix.length).forEach(i -> { IntStream.range(0, input_matrix[i].length) .mapToObj(j -> j < i ? "0" : String.valueOf(input_matrix[i][j])) .forEach(n -> System.out.print(n + " ")); System.out.println(); }); } }
代码输出如下:
Given Matrix: 2 3 6 1 2 2 1 4 2 The upper triangular matrix is: 2 3 6 0 2 2 0 0 2
广告