# Java Array Tutorials
# Java Array Programs
➤ Find Length of Array
➤ Different ways to Print Array
➤ Sum of Array Elements
➤ Average of Array Elements
➤ Sum of Two Arrays Elements
➤ Compare Two Arrays in Java
➤ 2nd Largest Number in Array
➤ How to Sort an Array in Java
➤ Reverse an Array in Java
➤ GCD of N Numbers in Java
➤ Linear Search in Java
➤ Binary Search in Java
➤ Copy Array in Java
➤ Merge 2 Arrays in Java
➤ Merge two sorted Arrays
➤ Largest Number in Array
➤ Smallest Number in Array
➤ Remove Duplicates
➤ Insert at Specific Position
➤ Add Element to Array
➤ Remove Element From Array
➤ Count Repeated Elements
➤ More Array Programs
Java Matrix Programs
➤ Matrix Tutorial in Java
➤ Print 2D Array in Java
➤ Print a 3×3 Matrix
➤ Sum of Matrix Elements
➤ Sum of Diagonal Elements
➤ Row Sum – Column Sum
➤ Matrix Addition in Java
➤ Matrix Subtraction in Java
➤ Transpose of a Matrix in Java
➤ Matrix Multiplication in Java
➤ Menu-driven Matrix Operations
Java Fill 2d Array With Random Numbers | In this section, we generate a random number for a two-dimensional array. To do this we need a random module that is available in java.util.Random package. Also see:- Create Java Array of Random Numbers
For example:-
array[ ][ ] = new int[2][2]
Generate random number and insert into the array.
Result:-
1 2
3 4
The random module has generated some random integers, in the program we just need to give the number of rows and columns. Observe the below code.
Program in Java Fill 2d Array With Random Numbers
Now let us see a Java program to fill a 2d array with random numbers. We will create a 2d array.
import java.util.Arrays;
import java.util.Random;
class Main {
public static void main(String args[]) {
int array[][] = new int[2][2];
Random random = new Random();
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
array[i][j] = random.nextInt();
}
}
System.out.println("Array: "
+ Arrays.deepToString(array));
}
}
Output:-
Array: [ [702551432, -2129386055], [-1258240069, -1691210993] ]
The code explanation is as follows:-
Step1:- Import the required classes that are used to execute this code. We need a random class, so import random from java.util.Random; The Random class generates a random number, there are many constructors for this class.
Step2:- In the main method initialize a two-dimensional array and give the row and column size as 2 and 2 respectively.
Step3:- Create an object for the random class as random and in the for loop insert the elements of row and column by using the random method, here we use random.nextInt() as we need integer values.
Step4:- Print the result.
If we want to generate a number within a specific range then we have to pass that range max value to the nextInt() method.
array[i][j] = random.nextInt(100);
Output:-
Array: [ [61, 34], [30, 18] ]
Now the nextInt() method always generates numbers between 0 to 100.
Java Fill 2d Array With Random Numbers – Floating-point values
In a similar way, we can generate random double values (floating-point values) and insert them into the 2d array. We run the same code just by replacing the random.nextInt() method to random.nextDouble().
import java.util.Arrays;
import java.util.Random;
class Main {
public static void main(String args[]) {
double array[][] = new double[2][2];
Random random = new Random();
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
array[i][j] = random.nextDouble();
}
}
System.out.println("Array: "
+ Arrays.deepToString(array));
}
}
Output:-
Array: [ [0.655100901068955, 0.2537286294440366], [0.861592127745446, 0.08139249678343408] ]
The nextDouble() method generates a floating-point number between 0 to 1. If we want to generate floating-point numbers in between some range then we have to multiply generated value with the max value of the range.
array[i][j] = random.nextDouble() * 100;
Output:-
Array: [ [74.83114169159951, 1.6052937526550237], [98.35925290059718, 62.81589398882489] ]
// generate a random floating point
// between 0 to 100
double number = random.nextDouble() * 100;
// store with only 2 decimal points
array[i][j] = Math.round(number * 100.0) / 100.0;
Output:-
Array: [ [43.38, 61.07], [95.25, 68.77] ]
Generate Random 2d Array Java
In the above Java fill 2d array with random numbers programs, we hardcoded the number of rows and column values for a 2d array. But in the below program we will initialize them with some random number between 1 to 5.
import java.util.Arrays;
import java.util.Random;
class Main {
public static void main(String args[]) {
Random random = new Random();
int row = random.nextInt(5) + 1;
int column = random.nextInt(5) + 1;
int array[][] = new int[row][column];
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
array[i][j] = random.nextInt(100);
}
}
System.out.println("2D array size: "
+ row + " x " + column);
System.out.println("Array: "
+ Arrays.deepToString(array));
}
}
Output:-
2D array size: 3 x 2
Array: [ [90, 90], [47, 34], [63, 96] ]
2D array size: 2 x 4
Array: [ [88, 90, 61, 39], [65, 17, 29, 76] ]
2D array size: 1 x 1
Array: [ [76] ]
2D array size: 2 x 2
Array: [ [70, 24], [33, 72] ]
2D array size: 1 x 4
Array: [ [43, 90, 39, 50] ]
If you enjoyed this post, share it with your friends. Do you want to share more information about the topic discussed above or do you find anything incorrect? Let us know in the comments. Thank you!