Two-dimensional array JAVA
We can declare a two dimensional array and directly store elements at the time of its declaration as shown below:
int numbers[][]={{23,45,57,24,74},{34,67,23,55,23},{34,74,24,46,78},{23, 56,87, 89,96}, {95, 03, 45, 99,56}};
Here int represents integer type elements stored into array and array name is ‘numbers’. ‘int’ is the datatype for all elements represented inside “{” and “}” braces because an array is a collection of elements having same data type.
Two-dimensional(2D)arrays are indexed by two subscripts, one for the row and one for the column.
JVM creates 5 * 5 = 25 blocks of memory. These blocks can be individually referred to as shown below
numbers[0][0] numbers[0][1] numbers[0][2] numbers[0][3] numbers[0][4] numbers[1][0] numbers[1][1] numbers[1][2] numbers[1][3] numbers[1][4] numbers[2][0] numbers[2][1] numbers[2][2] numbers[2][3] numbers[2][4] numbers[3][0] numbers[3][1] numbers[3][2] numbers[3][3] numbers[3][4] numbers[4][0] numbers[4][1] numbers[4][2] numbers[4][3] numbers[4][4]
Below program is use to display all the values in matrix.
package com.ms.matrix; public class Matrix { public static void main(String[] args) { int numbers[][]={{23,45,57,24,74},{34,67,23,55,23},{34,74,24,46,78}, {23, 56,87, 89,96}, {95, 03, 45, 99,56}}; System.out.println("####################################################"); printMatrix(numbers); System.out.println("####################################################"); } public static void printMatrix(int[][] numbers){ for (int i = 0; i < numbers.length; i++) { for (int j = 0; j < numbers.length; j++) { System.out.print(numbers[i][j]+ "\t"); } System.out.println(); } } }
If an array element does not exists, Java runtime system will give throw an “ArrayIndexOutOfBoundsException”.
Example:
int[][] reviews = new int[5][6];
What will be the value of reviews.length?
Answer: 5, the number of rows (first dimension)
What will be the value of reviews[0].length?
Answer: 6, the number of columns (second dimension)
Question:
Find number of reviews greater than value sent to method.
public int greaterReviews(int[][] reviews, int num) { int count = 0; for (int row = 0; row < reviews.length; row++) { for (int col = 0; col < reviews[0].length; col++){ if (reviews[row][col] > num){ count++; } } } return count; }