我正在尝试编写一个打印2d数组的程序,其中随机数范围为100-10000,并打印出数组中的最大数,平均值和最小值。程序将询问用户行数和列数,并打印该数组中的随机数。
这是我的代码:
Random rand = new Random();
int randomnumber = rand.nextInt(9901) + 100;
Scanner console = new Scanner(System.in);
System.out.println("Enter row");
int n = console.nextInt();
System.out.println("Enter column");
int y = console.nextInt();
int[][] array = new int[n][y];
array[n][y] = randomnumber;
int k;
for (int i = 0; i <= array.length; i++) {
for (k = 0; k <= array[i].length; k++) {
System.out.print(array[i][k]);
}
}
答案 0 :(得分:1)
如果要使用随机值填充数组,则需要在循环中生成随机值,然后将它们写入该循环中的数组。到目前为止,您只生成一个值(并将其放在无效位置)。
此外,由于数组是从0开始的,因此您的循环应为for(i=0; i<arr.length; i++);
,而不是<=
。
这里有一些代码:
// don't declare k here
for(int i=0;i<array.length;i++){
for(int k=0;k<array[i].length;k++){
array[i][k]=rand.nextInt(9901)+100;
System.out.print(array[i][k]);
}
System.out.println(); // separate rows
}