如何递增移动二维数组的每一行

时间:2019-05-20 16:10:18

标签: java

import java.util.*;
class Main1 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int [][] twoDim = new int [n][n];
        int a = (twoDim.length);
        int b = (twoDim[0].length);

        for(int i = 0; i < a; i++){
            for(int j = 0; j < b; j++) {
                twoDim[i][j] = j % n;
                System.out.print(twoDim[i][j] + " ");
            }
            System.out.println();
        }

    }
}

我刚刚开始学习Java,我想输出如下内容:

0 1 2
1 0 1
2 1 0

在这种情况下,用户输入为3 我知道如何得到这样的东西:

0 0 0
1 1 1
2 2 2

或类似这样:

0 1 2
0 1 2
0 1 2

但是我不知道如何使用模块化逐步移动每一行。 如果我错过了答案,我表示诚挚的歉意。

1 个答案:

答案 0 :(得分:0)

import java.util.*;
class Main1 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int [][] twoDim = new int [n][n];

        int a = (twoDim.length);
        int b = (twoDim[0].length);

        for(int i = 0; i < a; i++){
            for(int j = 0; j < b; j++) {
                twoDim[i][j] = Math.abs(j - i) % n;
                System.out.print(twoDim[i][j] + " ");
            }
            System.out.println();
        }
    }
}