我需要编写一个程序,当用户输入“行”和“列”时,应输出以下内容。以下示例适用于4x4矩阵:

1   5   9   13

2   6   10  14

3   7   11  15

4   8   12  16


还是一个初学者,发现这些数组真的很难。

它可以与下面的代码一起使用,但是我不确定是否允许这样填写-列然后行。

我无法找到一种处理方法:

for (int i = 0; i < rows; i++){

    for (int j = 0; j < columns; j++){


我使用的代码:

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("Please enter your array rows: ");
    int rows = scanner.nextInt();

    System.out.println("Please enter your array columns: ");
    int columns = scanner.nextInt();

    int[][] array = new int[rows][columns];

    int counter = 0;
    for (int j = 0; j < columns; j++){
        for (int i = 0; i < rows; i++) {
            counter++;
            array[i][j]=counter;
        }
    }

    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < columns; j++) {
            System.out.print(array[i][j] + " ");
        }
        System.out.println();
    }
}

最佳答案

按照您的方式填写数组没有问题,这是完全合法的。首先将其填充到行中并没有任何实际的区别。

如果您真的希望先行,则可以采用以下方法:

int[][] array = new int[rows][columns];
for(int i = 0; i < rows, i++) {
    for(int j = 0; j < columns; j++) {
        array[i][j] = j * rows + i + 1;
    }
}

关于java - 方阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32298484/

10-11 04:35