Java >> Java tutorial >  >> Java

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] ]


Java tag