我想知道如何正确对齐此代码?这样它看起来更像一张桌子。在输出中,数字开始向右移动,我不知道如何解决]
public class MultiplicationTable {
int[][] arr = new int[13][13];
public void initializeBoard()
{
for(int i = 1; i < 13; i ++)
{
for(int j = 1; j < 13; j++)
{
arr[i][j] = i * j;
}
}
}
public void printBoard()
{
for(int i = 1; i < 13; i ++)
{
for(int j = 1; j < 13; j++)
{
System.out.print(arr[i][j] +" ");
}
System.out.println();
}
}
}
[使用Scanner#printf()方法在控制台窗口中显示格式化的文本,例如:
public void printBoard() {
for (int i = 1; i < 13; i++) {
for (int j = 1; j < 13; j++) {
System.out.printf("%-6s", arr[i][j]);
}
System.out.println();
}
}
控制台应显示:
1 2 3 4 5 6 7 8 9 10 11 12
2 4 6 8 10 12 14 16 18 20 22 24
3 6 9 12 15 18 21 24 27 30 33 36
4 8 12 16 20 24 28 32 36 40 44 48
5 10 15 20 25 30 35 40 45 50 55 60
6 12 18 24 30 36 42 48 54 60 66 72
7 14 21 28 35 42 49 56 63 70 77 84
8 16 24 32 40 48 56 64 72 80 88 96
9 18 27 36 45 54 63 72 81 90 99 108
10 20 30 40 50 60 70 80 90 100 110 120
11 22 33 44 55 66 77 88 99 110 121 132
12 24 36 48 60 72 84 96 108 120 132 144
您几乎正确地完成了此操作。我相信,在这样的printBoard()
方法中进行较小的更改应该可以正确输出[]
public static void printBoard()
{
for(int i = 1; i < 13; i ++)
{
for(int j = 1; j < 13; j++)
{
if(arr[i][j] >= 100){
System.out.print(arr[i][j] +" ");
} else if(arr[i][j] >= 10){
System.out.print(arr[i][j] +" ");
} else {
System.out.print(arr[i][j] +" ");
}
}
System.out.println();
}
}
我希望这会有所帮助。