在那儿,我在格式化此2d数组时遇到问题。我当时正在考虑做system.out.printf,但是每次我执行诸如%2f之类的操作或类似的操作均无效。

  public static void main(String[] args) {
    int t,i;
    int[][] table = new int[5][6];

    for (t = 0; t < 5; t++) {
        for (i=0;i < 6; i++) {
            table[t][i] = (t*6)+i+1;
            System.out.print(table[t][i] + "  ");
        }
        System.out.println();
    }

}


}

This is the output:

1  2  3  4  5  6
7  8  9  10  11  12
13  14  15  16  17  18
19  20  21  22  23  24
25  26  27  28  29  30


输出应具有完美对齐的空格,如下所示:http://prntscr.com/6kn2pq

最佳答案

像这样使用format

System.out.format("%4d", table[t][i]);


输出如下所示:

   1   2   3   4   5   6
   7   8   9  10  11  12
  13  14  15  16  17  18
  19  20  21  22  23  24
  25  26  27  28  29  30


或者,如果您希望数字左对齐:

System.out.format("%-4d", table[t][i]);


结果如下:

1   2   3   4   5   6
7   8   9   10  11  12
13  14  15  16  17  18
19  20  21  22  23  24
25  26  27  28  29  30

关于java - Java 2d数组格式化?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29225415/

10-13 01:13