Java Fyld 2d Array med tilfældige tal
Java Fyld 2d Array med tilfældige tal | I dette afsnit genererer vi et tilfældigt tal for en todimensional matrix. For at gøre dette har vi brug for et tilfældigt modul, der er tilgængeligt i pakken java.util.Random. Se også:- Opret Java-array af tilfældige tal
For eksempel:-
array[ ][ ] =new int[2][2]
Generer tilfældigt tal og indsæt i arrayet.
Resultat:-
1 2
3 4
Det tilfældige modul har genereret nogle tilfældige heltal, i programmet skal vi blot angive antallet af rækker og kolonner. Overhold nedenstående kode.
Program i Java Fyld 2d Array med tilfældige tal
Lad os nu se et Java-program til at fylde et 2d-array med tilfældige tal. Vi vil oprette et 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] ]
Kodeforklaringen er som følger:-
Trin 1:- Importer de påkrævede klasser, der bruges til at udføre denne kode. Vi har brug for en tilfældig klasse, så importer tilfældig fra java.util.Random; Klassen Random genererer et tilfældigt tal, der er mange konstruktører til denne klasse.
Trin 2:- I hovedmetoden initialiseres et todimensionelt array og angive række- og kolonnestørrelsen som henholdsvis 2 og 2.
Trin 3:- Opret et objekt for den tilfældige klasse som tilfældig og indsæt elementerne i række og kolonne i for-løkken ved at bruge den tilfældige metode, her bruger vi random.nextInt() da vi skal bruge heltalsværdier.
Trin4:- Udskriv resultatet.
Hvis vi ønsker at generere et tal inden for et specifikt interval, skal vi overføre denne interval max værdi til nextInt() metoden.
array[i][j] = random.nextInt(100);
Output:-
Array:[ [61, 34], [30, 18] ]
Nu genererer nextInt()-metoden altid tal mellem 0 og 100.
Java Fyld 2d-array med tilfældige tal – flydende kommaværdier
På lignende måde kan vi generere tilfældige dobbelte værdier (floating-point-værdier) og indsætte dem i 2d-arrayet. Vi kører den samme kode blot ved at erstatte random.nextInt() metoden til 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] ]
NextDouble()-metoden genererer et flydende-komma-tal mellem 0 og 1. Hvis vi ønsker at generere flydende-komma-tal mellem et eller andet område, skal vi gange den genererede værdi med max-værdien af området.
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] ]
Generer Random 2d Array Java
I ovenstående Java-fyld 2d-array med programmer med tilfældige tal, har vi hardkodet antallet af rækker og kolonneværdier for et 2d-array. Men i nedenstående program vil vi initialisere dem med et tilfældigt tal mellem 1 og 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-arraystørrelse:3 x 2
Array:[ [90, 90], [47, 34], [63, 96] ]
2D-arraystørrelse:2 x 4
Array:[ [88, 90, 61, 39], [65, 17, 29, 76] ]
2D-arraystørrelse:1 x 1
Array:[ [76] ]
2D-arraystørrelse:2 x 2
Array:[ [70, 24], [33, 72] ]
2D-arraystørrelse:1 x 4
Array:[ [43, 90, 39, 50] ]