- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to Print Lower Triangular Matrix in Java?
In Java, Array is an object. It is a non-primitive data type which stores values of similar data type. The matrix in java is nothing but a multi-dimensional array which represents multiple rows and columns.
Triangular Matrix − A square matrix is called as a triangular matrix if all the elements above or below the diagonal of that matrix are zeros.
Lower- Triangular Matrix − A square matrix is called as a Lower- Triangular Matrix if all the elements above the diagonal of that matrix are zeros.
Here we have to print the lower triangular matrix.
Let’s start!
To show you some instances
Instance-1
Given matrix =
21 22 23 24 25 26 27 28 29
Lower triangular matrix of given matrix is −
21 0 0 24 25 0 27 28 29
Instance-2
Given matrix =
921 222 243 432 124 745 256 657 237 258 429 345 176 453 756 843
Lower triangular matrix of given matrix is −
921 0 0 0 124 745 0 0 237 258 429 0 176 453 756 843
Instance-3
Given matrix =
1 2 3 4 5 6 7 8 9
Lower triangular matrix of given matrix is −
1 0 0 4 5 0 7 8 9
Algorithm
Algorithm-1
Step-1 − Initialize a 2D array matrix to represent the input matrix.
Step-2 − Use two nested loops to iterate through each element of the matrix. The outer loop iterates through the rows of the matrix, and the inner loop iterates through the columns of each row.
Step-3 − Check if the current column is greater than the current row. If so, set the current element to 0.
Step-4 − Print the current element.
Step-5 − Move to the next line after the inner loop is finished to print the next row.
Algorithm-2
Step-1 − Initialize a 2D array matrix to represent the input matrix.
Step-2 − Use an IntStream to loop through the rows of the matrix.
Step-3 − Use another IntStream to loop through the columns of each row.
Step-4 − Check if the current column is greater than the current row. If so, set the current element to 0.
Step-5 − Print the current element. Move to the next line after the inner loop is finished to print the next row
Syntax
1. The Matrix.length() method in Java returns the length of the given matrix.
Below refers to the syntax of it −
inputMatrix.lenght
where, ‘inputMatrix’ refers to the given matrix.
2. IntStream.range() is a method in Java that generates a sequential stream of integers from startInclusive to endExclusive - 1.
IntStream.range(startInclusive, endExclusive)
It can be used to perform operations on a set of integers. For example, in the second code, it is used to loop through the rows and columns of the matrix.
The method forEach is then called on the stream to perform an action for each element in the stream.
Multiple Approaches
We have provided the solution in different approaches.
By Using Nested Loops
By Using Stream
Let’s see the program along with its output one by one.
Approach-1: By Using Nested Loops
In this approach, matrix elements will be initialized in the program. Then call a user defined method by passing the matrix as parameter and inside method as per the algorithm by using nested loop method we print the lower triangular matrix of the given matrix.
Example
public class Main { public static void main(String[] args) { int[][] inputMatrix = {{11, 22, 33, 44}, {55, 66, 77, 88}, {99, 10, 11, 12}, {13, 14, 15, 16}}; LowerTriangularMatrix(inputMatrix); } public static void LowerTriangularMatrix(int[][] mat) { System.out.println("Lower triangular matrix of given matrix is: "); // initiate the loop to check through the rows for (int a = 0; a < mat.length; a++) { // then check through each columns for (int b = 0; b < mat[a].length; b++) { // If the column is greater than the row, set the element to 0 if (b > a) { mat[a][b] = 0; } // Print the current element System.out.print(mat[a][b] + " "); } System.out.println(); } } }
Output
Lower triangular matrix of given matrix is: 11 0 0 0 55 66 0 0 99 10 11 0 13 14 15 16
Approach-2: By Using Stream
In this approach, matrix elements will be initialized in the program. Then call a user defined method by passing the matrix as parameter and inside method as per the algorithm by using stream method we print the lower triangular matrix of the given matrix.
Example
import java.util.stream.IntStream; public class Main { public static void main(String[] args) { int[][] inputMatrix = {{12, 32, 13}, {5, 6, 7}, {9, 10, 11}}; //call the user-defined method lowerTriangularMatrix(inputMatrix); } public static void lowerTriangularMatrix(int[][] mat) { System.out.println("Lower triangular matrix of given matrix is: "); // Use IntStream to loop through the rows of the matrix IntStream.range(0, mat.length) .forEach(a -> { // Use IntStream to loop through the columns of the current row IntStream.range(0, mat[a].length) .forEach(b -> { // If the column is greater than the row, set the element to 0 if (b > a) { mat[a][b] = 0; } // Print the current element System.out.print(mat[a][b] + " "); }); System.out.println(); }); } }
Output
Lower triangular matrix of given matrix is: 12 0 0 5 6 0 9 10 11
In this article, we explored different approaches to print lower triangular by using Java programming language.