首页 > 解决方案 > Java中带有fillArray()方法的二维数组

问题描述

我对编码还是很陌生,所以我提前道歉。但我正在使用二维数组,似乎无法弄清楚。我已经完成了第一部分,但我不知道如何编写方法 (fillArray())(当我在第 9 行调用它时,它说它是未定义的,但我不知道如何通过编写方法来解决这个问题) .

这是我到目前为止所拥有的:

public class 2DArrays {

public static void main(String[] args) {
    2DArrays 2D = new 2dArrays();
    
    int[][] arr = 2D.fillArray();

    for (int i = 0; i < arr.length; i++) 
    {
        for (int j = 0; j < arr[i].length; j++) {
            String str = "";
            if (arr[i][j] < 0) {
                str = "" + arr[i][j];
            }
            else {
                str = " " + arr[i][j];
            }
            System.out.print(" " + str);
        }
        System.out.println();
    }

}

}

标签: javaarrays2d

解决方案


fillArray 将行和列作为参数。

public static int[][] fillArray(int rows, int cols) {
    int[][] arr = new int[rows][cols];
    for (int r = 0; r < rows; r++) {
        for (int c = 0; c < cols; c++) {
            arr[r][c] = r-c + 1;
        }
    }
    return arr;
}

int[][] arr = fillArray(5,10);

一种简单且格式化的显示方式是

for (int[] r : arr) {
    for(int i : r) {
      System.out.printf("%3d",i);
    }
    System.out.println();
}

印刷

  1  0 -1 -2 -3 -4 -5 -6 -7 -8
  2  1  0 -1 -2 -3 -4 -5 -6 -7
  3  2  1  0 -1 -2 -3 -4 -5 -6
  4  3  2  1  0 -1 -2 -3 -4 -5
  5  4  3  2  1  0 -1 -2 -3 -4

推荐阅读