In this post, you will see how to Read a Matrix from the user in Java. Generally, a Matrix is a 2D array. The 2D array is organized as matrices which can be represented as a collection of rows and columns.
Here we are going to read a 3×3 size Matrix using java.lang.Scanner
class.
Example-1. Create Matrix With User Input Using Java
In this example, we read a Matrix value from the user using the Scanner class in java. As we know matrix is a 2D array so we will use two for loop here, one inside another. let’s see the java code for it below:
package com.javacodepoint.array.multidimensional;
import java.util.Arrays;
import java.util.Scanner;
public class UserInput2DArray {
public static void main(String[] args) {
// Creating scanner object for reading user input
Scanner sc = new Scanner(System.in);
// Declaring a 3x3 matrix
int matrix[][] = new int[3][3];
// Read matrix value from user
System.out.println("Enter the elements for 3x3 Matrix: ");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print("Enter value for [" + i + "][" + j + "]= ");
matrix[i][j] = sc.nextInt();
}
}
// Print the Matrix
System.out.println("The given matrix:");
System.out.println(Arrays.deepToString(matrix));
}
}
OUTPUT:
Enter the elements for 3×3 Matrix:
Enter value for [0][0]= 3
Enter value for [0][1]= 4
Enter value for [0][2]= 6
Enter value for [1][0]= 7
Enter value for [1][1]= 6
Enter value for [1][2]= 7
Enter value for [2][0]= 8
Enter value for [2][1]= 9
Enter value for [2][2]= 9
The given matrix:
[[3, 4, 6], [7, 6, 7], [8, 9, 9]]
Example-2. Read Matrix from the user and Display using for loop in Java
package com.javacodepoint.array.multidimensional;
import java.util.Arrays;
import java.util.Scanner;
public class UserInput2DArray2 {
public static void main(String[] args) {
// Creating scanner object for reading user input
Scanner sc = new Scanner(System.in);
// Declaring a 3x3 matrix
int matrix[][] = new int[3][3];
// Read matrix value from user
System.out.println("Enter the elements for 3x3 Matrix: ");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print("Enter value for [" + i + "][" + j + "]= ");
matrix[i][j] = sc.nextInt();
}
}
// Print the Matrix
System.out.println("The given matrix:");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(matrix[i][j] + " ");
}
// Move cursor to next line
System.out.println();
}
}
}
OUTPUT:
Enter the elements for 3×3 Matrix:
Enter value for [0][0]= 3
Enter value for [0][1]= 4
Enter value for [0][2]= 6
Enter value for [1][0]= 1
Enter value for [1][1]= 2
Enter value for [1][2]= 3
Enter value for [2][0]= 5
Enter value for [2][1]= 7
Enter value for [2][2]= 9
The given matrix:
3 4 6
1 2 3
5 7 9
See also:
Java Program to Find the Sum of an Array.
Java Program to Count the Number of Vowels in a String.