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
Java Initialise Multidimensional Array with Random Integers
提问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()
做你想做的吗?