幻方的 Printf
Printf for a Magic Square
所以这是我下面的代码:
public void printSquare() {
for (int row = 0; row < square.length; row++) {
for (int col = 0; col < square.length; col++) {
System.out.printf(square[row][col] + "%-3c", ' ');
}
System.out.println();
}
}
我正在尝试将它们打印成这样:
但我的输出是:
***** 方块 2 *****
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20
我已经弄乱了 printf 有一段时间了,我似乎无法弄清楚如何整齐地打印它。我在学校的第二个学期几乎没有达到 Java,所以我还不太擅长编码。任何建议都会有所帮助。
如果我的编码不正统或看起来很糟糕,请告诉我,以便我可以修复它。
谢谢。
您可以尝试添加标签 space 而不是手动添加 space。 Tab space 将处理 space
的数字问题
public static void printSquare(int[][] square) {
for (int row = 0; row < square.length; row++) {
for (int col = 0; col < square.length; col++) {
System.out.print(square[row][col]+"\t");
}
System.out.println();
}
}
输出
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20
要打印恰好包含四个字符(由空格填充)的数字,请使用此格式:
System.out.printf("%4d", square[row][col]);
所以这是我下面的代码:
public void printSquare() {
for (int row = 0; row < square.length; row++) {
for (int col = 0; col < square.length; col++) {
System.out.printf(square[row][col] + "%-3c", ' ');
}
System.out.println();
}
}
我正在尝试将它们打印成这样:
但我的输出是:
***** 方块 2 *****
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20
我已经弄乱了 printf 有一段时间了,我似乎无法弄清楚如何整齐地打印它。我在学校的第二个学期几乎没有达到 Java,所以我还不太擅长编码。任何建议都会有所帮助。
如果我的编码不正统或看起来很糟糕,请告诉我,以便我可以修复它。
谢谢。
您可以尝试添加标签 space 而不是手动添加 space。 Tab space 将处理 space
的数字问题public static void printSquare(int[][] square) {
for (int row = 0; row < square.length; row++) {
for (int col = 0; col < square.length; col++) {
System.out.print(square[row][col]+"\t");
}
System.out.println();
}
}
输出
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20
要打印恰好包含四个字符(由空格填充)的数字,请使用此格式:
System.out.printf("%4d", square[row][col]);