Java 中带有 fillArray() 方法的二维数组

2-Dimensional Array with fillArray() method in Java

我对编码还是很陌生,所以我提前道歉。但我正在使用二维数组,但似乎无法弄清楚。我已经完成了第一部分,但我不知道如何编写方法 (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();
    }

}

}

只需将一个循环放入另一个循环,所以...这里:


public static int[][] fillArray(){
        int[][] numbers = new int[5][10];//The array that are going to return
        
        for(int i = 1;i<=5;i++) {
            for(int j = 0;j<10;j++) {
                numbers[i - 1][j] = i - j;//fill the numbers
            }
        }
        return numbers;//return result
    }

In main(向您展示它很好...?):

public static void main(String[] args) {
        int[][] array = fillArray();
        System.out.println(Arrays.deepToString(array));
    }

结果:

[[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]]

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