乘法表输出

问题描述 投票:1回答:2

我想知道如何正确对齐此代码?这样它看起来更像一张桌子。在输出中,数字开始向右移动,我不知道如何解决]

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();
        }

    }

}
java arrays output
2个回答
1
投票

[使用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   

1
投票

您几乎正确地完成了此操作。我相信,在这样的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();
        }

    }

我得到了这样的输出mutiplication table

我希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.