java Java用随机整数初始化多维数组

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/5239672/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-30 10:09:18  来源:igfitidea点击:

Java Initialise Multidimensional Array with Random Integers

javaarraysmultidimensional-array

提问by Mus

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.

我希望用 0 到 100(含)之间的随机数初始化一个多维数组。我能够在每个字段中创建具有空值的多维数组,然后能够将 100 个随机数添加到可用位置。

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

米克

回答by OscarRyz

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

创建数组,然后在 for 循环中对其进行初始化。 Random.nextInt(n)给你你需要的。

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]

回答by Oliver Charlesworth

Will Random.nextInt()do what you want?

Random.nextInt()做你想做的吗?