How to fill random numbers in a specific range in a 2D array in Java

3 Answers

0 votes
package javaapplication1;

import java.util.Random;

public class JavaApplication1 {

    public static void main(String[] args) {

        int[][] array2D = new int[4][5]; 
     
        int start = 3, end = 7;
        int range = end - start + 1;
        Random random = new Random();
         
        for (int[] array2D1 : array2D) {
            for (int j = 0; j < array2D1.length; j++) {
                array2D1[j] = (int) (range * random.nextDouble()) + start;
            }
        }
        
        for (int[] array2D1 : array2D) {
            for (int j = 0; j < array2D1.length; j++) {
                System.out.print(array2D1[j] + " ");
            }
            System.out.println();
        }
    }
}
 
/*

run:

7 4 7 4 3 
7 6 5 3 5 
7 5 7 3 4 
7 6 3 3 3 

*/

 



answered Oct 8, 2016 by avibootz
0 votes
package javaapplication1;

import java.util.concurrent.ThreadLocalRandom;

public class JavaApplication1 {

    public static void main(String[] args) {

        int[][] array2D = new int[4][5]; 
     
        int start = 3, end = 7;
         
        for (int[] array2D1 : array2D) {
            for (int j = 0; j < array2D1.length; j++) {
                array2D1[j] = ThreadLocalRandom.current().nextInt(start, end + 1);
            }
        }
        
        for (int[] array2D1 : array2D) {
            for (int j = 0; j < array2D1.length; j++) {
                System.out.print(array2D1[j] + " ");
            }
            System.out.println();
        }
    }
}
 
/*

run:

7 7 5 5 3 
3 4 7 3 4 
4 3 6 7 5 
3 6 7 6 7 

*/

 



answered Oct 8, 2016 by avibootz
0 votes
package javaapplication1;

public class JavaApplication1 {

    public static void main(String[] args) {

        int[][] array2D = new int[4][5]; 
     
        int min = 3, max = 7;
        
        for (int[] array2D1 : array2D) {
            for (int j = 0; j < array2D1.length; j++) {
                array2D1[j] = min + (int)(Math.random() * ((max - min) + 1));
            }
        }
        
        for (int[] array2D1 : array2D) {
            for (int j = 0; j < array2D1.length; j++) {
                System.out.print(array2D1[j] + " ");
            }
            System.out.println();
        }
    }
}
 
/*

run:

3 3 5 4 5 
5 3 4 4 7 
3 4 5 7 6 
6 6 5 3 7 

*/

 



answered Oct 8, 2016 by avibootz

Related questions

4 answers 297 views
2 answers 212 views
1 answer 205 views
1 answer 180 views
5 answers 324 views
...