1

I am looking to initialise a multidimensional array with random numbers between 0 and 100 (inclusive). I am able to create the multidimensional array with empty values at each field and am then able to add 100 random numbers into the available positions.

However, I would like to know if there is a way of initialising the multidimensional array with random natural integers. For example, I am looking to do it a little something like this:

double[][] array = new double[][] {{0, 1, 2} , {1, 0, 3} , {2, 3, 0}};

Is this possible? I'm thinking something along the lines of:

double[][] array = new double[][] {{random values go here},{random values go here}};

Any suggestions?

Thank you all for taking the time to read.

Mick

2
  • Are you looking to generate the random numbers just once, or should it be a new set of random numbers on every run? Commented Mar 8, 2011 at 23:42
  • Hi Kevin, I am looking to generate a new set of random numbers on each run. Commented Mar 8, 2011 at 23:46

2 Answers 2

3

Create the array and then initialize it in a for loop. Random.nextInt(n) gives you what you need.

Here's a sample code with three different runs.

import java.util.*;
class Init { 
    public static void main( String ... args ) { 

        Random random = new Random();

        double[][] array = new double[10][10];

        for( int i = 0 ; i < array.length ; i++ ) { 
           for ( int j = 0 ; j < array[i].length ; j++ ) { 
              array[i][j] = random.nextInt(101);
           }
        }

        for( double[] a : array ) { 
            System.out.println( Arrays.toString( a ));
        }
    }
}

Output:

C:\Users\oreyes\langs\java>java Init
[2.0, 92.0, 31.0, 98.0, 3.0, 5.0, 57.0, 41.0, 29.0, 89.0]
[54.0, 57.0, 68.0, 92.0, 11.0, 20.0, 14.0, 58.0, 84.0, 23.0]
[48.0, 14.0, 9.0, 33.0, 9.0, 27.0, 74.0, 34.0, 85.0, 91.0]
[51.0, 87.0, 2.0, 96.0, 52.0, 81.0, 91.0, 95.0, 19.0, 56.0]
[15.0, 90.0, 9.0, 85.0, 51.0, 23.0, 35.0, 21.0, 78.0, 14.0]
[23.0, 20.0, 57.0, 94.0, 69.0, 99.0, 90.0, 78.0, 61.0, 38.0]
[35.0, 61.0, 81.0, 72.0, 3.0, 93.0, 20.0, 96.0, 9.0, 35.0]
[90.0, 100.0, 98.0, 14.0, 95.0, 75.0, 96.0, 8.0, 87.0, 25.0]
[14.0, 41.0, 27.0, 57.0, 32.0, 37.0, 69.0, 61.0, 5.0, 42.0]
[57.0, 0.0, 85.0, 28.0, 78.0, 47.0, 89.0, 54.0, 50.0, 59.0]

C:\Users\oreyes\langs\java>java Init
[3.0, 27.0, 37.0, 31.0, 52.0, 19.0, 63.0, 81.0, 88.0, 12.0]
[80.0, 27.0, 7.0, 55.0, 21.0, 100.0, 73.0, 62.0, 9.0, 91.0]
[85.0, 50.0, 66.0, 27.0, 63.0, 44.0, 0.0, 37.0, 93.0, 82.0]
[73.0, 57.0, 4.0, 80.0, 5.0, 51.0, 63.0, 13.0, 97.0, 11.0]
[87.0, 62.0, 20.0, 14.0, 44.0, 77.0, 71.0, 42.0, 27.0, 82.0]
[37.0, 32.0, 96.0, 95.0, 45.0, 8.0, 11.0, 38.0, 61.0, 6.0]
[34.0, 67.0, 84.0, 50.0, 38.0, 64.0, 50.0, 51.0, 50.0, 47.0]
[79.0, 31.0, 54.0, 37.0, 27.0, 54.0, 57.0, 30.0, 77.0, 36.0]
[74.0, 20.0, 98.0, 37.0, 8.0, 17.0, 18.0, 1.0, 29.0, 56.0]
[21.0, 4.0, 33.0, 87.0, 4.0, 76.0, 65.0, 62.0, 76.0, 96.0]

C:\Users\oreyes\langs\java>java Init
[17.0, 3.0, 78.0, 32.0, 99.0, 76.0, 94.0, 93.0, 31.0, 55.0]
[4.0, 25.0, 63.0, 68.0, 58.0, 39.0, 7.0, 55.0, 73.0, 86.0]
[96.0, 89.0, 6.0, 100.0, 20.0, 58.0, 100.0, 91.0, 35.0, 46.0]
[3.0, 16.0, 88.0, 82.0, 85.0, 35.0, 0.0, 1.0, 91.0, 78.0]
[3.0, 33.0, 77.0, 10.0, 69.0, 60.0, 75.0, 58.0, 8.0, 31.0]
[72.0, 36.0, 2.0, 19.0, 39.0, 15.0, 5.0, 74.0, 16.0, 28.0]
[48.0, 71.0, 38.0, 17.0, 37.0, 34.0, 80.0, 98.0, 16.0, 42.0]
[66.0, 74.0, 96.0, 80.0, 75.0, 7.0, 14.0, 46.0, 63.0, 56.0]
[4.0, 15.0, 8.0, 93.0, 58.0, 21.0, 81.0, 100.0, 2.0, 44.0]
[20.0, 71.0, 41.0, 43.0, 83.0, 7.0, 60.0, 28.0, 99.0, 42.0]
Sign up to request clarification or add additional context in comments.

3 Comments

Thank you so much for this wonderful answer; unfortunately, I encounter an error when attempting this. The error flags up on the following line: array[i][j] = random.nextInt(101); It highlights/underlines 'nextInt' and displays the following message: "The method nextInt(int) is undefined for the type Integer". What could the problem be here? Thank you, OscarRyz.
You've defined random as Integer , declare it as Random as in : Random random = new Random()
I have tried that and still no luck unfortunately...could there be an error elsewhere in my project that eclipse has not detected?
1

Will Random.nextInt() do what you want?

1 Comment

Thank you guys, but unfortunately this has not worked. May I ask how I would implement the Random.nextInt()/Random.nextInt(101) method into my 3D array? Thanks.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.